Вот есть у меня пара игр в Аппле АппСторе. Они написаны на С, OpenGL ES, OpenAL.
Когда появился Windows Phone 7 и аппараты с оным внутри, я подумал — а ну как сейчас портирую свои игры на этот чудо-телефон, и заработаю еще несколько копеек. Посмотрел — а на C писать под него нельзя, и никакого OpenGL ES там нет, а вместо этого C# и Direct3D (или XNA). И забил — это же надо считай с нуля переписывать.
Вот и подумал я — а зачем так сделано? Ведь если производитель хочет добиться популярности платформы, нужно облегчить миграцию разработчиков под конкурирующие платформы. А тут делают совсем даже наоборот. Не понимаю.