Какова, на ваш взгляд, перспектива того, что Микрософт все-таки откроет Windows Phone 7 для разработки на C++ (native)? Или это технически невозможно (не имеет смысла, нерационально)?
Была новость, что каким-то энтузиастам удалось сделать "jailbreak" Windows Phone 7 и получить доступ к native API, но Микрософт о чем-то там с ними договорилась, и лавочку свернули. Не подтолкнет ли ее это событие к раскрытию native API?
Здравствуйте, Kerbadun, Вы писали:
K>Какова, на ваш взгляд, перспектива того, что Микрософт все-таки откроет Windows Phone 7 для разработки на C++ (native)? Или это технически невозможно (не имеет смысла, нерационально)?
K>Была новость, что каким-то энтузиастам удалось сделать "jailbreak" Windows Phone 7 и получить доступ к native API, но Микрософт о чем-то там с ними договорилась, и лавочку свернули. Не подтолкнет ли ее это событие к раскрытию native API?
Если открыть доступ к native API то программисты быстро превратят Windows Phone 7 в такое же унылое создание каковым является Windows Mobile 6.x
Здравствуйте, Kerbadun, Вы писали:
K>Какова, на ваш взгляд, перспектива того, что Микрософт все-таки откроет Windows Phone 7 для разработки на C++ (native)? Или это технически невозможно (не имеет смысла, нерационально)?
K>Была новость, что каким-то энтузиастам удалось сделать "jailbreak" Windows Phone 7 и получить доступ к native API, но Микрософт о чем-то там с ними договорилась, и лавочку свернули. Не подтолкнет ли ее это событие к раскрытию native API?
Ходят слухи про грядующие патчи, которые должны в том числе дать нам и много полезного в системном смысле (3rd-party multitasking, sockets API etc).
Но есть вопрос: чего Вам не хватает в текущем виде? Зачем нужен native API? Аргумент "люблю писать на плюсах" отбрасываем как субъективный.
Здравствуйте, Mr.Delphist, Вы писали:
MD>Зачем нужен native API?
качество ПО. люди напрямую работающие с интерфейсами ОС дефакто больше отдают отчет в том, что делают, нежели другие, которые укрывшись за слоями абстракций, пишут как считают нужным.
Здравствуйте, nullptr_t, Вы писали:
_>Здравствуйте, Mr.Delphist, Вы писали:
MD>>Зачем нужен native API?
_>качество ПО. люди напрямую работающие с интерфейсами ОС дефакто больше отдают отчет в том, что делают, нежели другие, которые укрывшись за слоями абстракций, пишут как считают нужным.
хыхых, имею совершенно обратное мнение, что чем больше доступа к системе тем больше там людей совершенно не отдающих себе отчет в том что они делают
Здравствуйте, henson, Вы писали:
H>Здравствуйте, nullptr_t, Вы писали:
_>>Здравствуйте, Mr.Delphist, Вы писали:
MD>>>Зачем нужен native API?
_>>качество ПО. люди напрямую работающие с интерфейсами ОС дефакто больше отдают отчет в том, что делают, нежели другие, которые укрывшись за слоями абстракций, пишут как считают нужным.
H>хыхых, имею совершенно обратное мнение, что чем больше доступа к системе тем больше там людей совершенно не отдающих себе отчет в том что они делают
зачем спорить, достаточно посмотреть качество C# софта 95% — говно — глючное, тормозящее, страшное. и это имея возможности .net!
Здравствуйте, nullptr_t, Вы писали:
_>зачем спорить, достаточно посмотреть качество C# софта 95% — говно — глючное, тормозящее, страшное. и это имея возможности .net!
А на плюсах прямо шедевры у всех волшебно лепятся? Давайте холиварить зазря не будем. Любой API — это слой абстракции, будь то Win32 GDI или какой-нибудь NET Reflection. И для любого API есть разные по размерам помех танцоры.
А насчет "тормознутости managed-кода" — про этот миф можно давно не вспоминать, равно как и про иные супер-метрики сферического программиста:
* "самые быстрые программы пишутся на Асме"
* "фигня ваш Delphi, там пустой экзешник полтонны весит"
* "плюсы — самый мощный язык всех времен и народов"
* и т.п.
MD>Но есть вопрос: чего Вам не хватает в текущем виде? Зачем нужен native API? Аргумент "люблю писать на плюсах" отбрасываем как субъективный.
Да очень просто: есть уже готовая большая коммерческая программа на C++, которая работает на нескольких платформах, и чтобы переписать ее на C#, нужно очень много человекочасов (да что там, практически нереально), плюс непонятно, как потом поддерживать параллельные версии на разных языках (так как C# не работает на Андроиде и под большим вопросом на iPhone).
Здравствуйте, Mr.Delphist, Вы писали:
MD>Но есть вопрос: чего Вам не хватает в текущем виде? Зачем нужен native API? Аргумент "люблю писать на плюсах" отбрасываем как субъективный.
1. Портируемость (ядра программы) на другие платформы: айфон, андроид и т.д.
2. Использование известных либ: опенссл, разные аудио кодеки и т.д.
а вот что касается гуя, то С++ API не нужен (имхо).
Здравствуйте, Kerbadun, Вы писали:
MD>>Но есть вопрос: чего Вам не хватает в текущем виде? Зачем нужен native API? Аргумент "люблю писать на плюсах" отбрасываем как субъективный.
K>Да очень просто: есть уже готовая большая коммерческая программа на C++, которая работает на нескольких платформах, и чтобы переписать ее на C#, нужно очень много человекочасов (да что там, практически нереально), плюс непонятно, как потом поддерживать параллельные версии на разных языках (так как C# не работает на Андроиде и под большим вопросом на iPhone).
Мобильные платформы плохой пример, там код по любому разный.
Здравствуйте, nullptr_t, Вы писали:
_>Здравствуйте, henson, Вы писали:
H>>Здравствуйте, nullptr_t, Вы писали:
_>>>Здравствуйте, Mr.Delphist, Вы писали:
MD>>>>Зачем нужен native API?
_>>>качество ПО. люди напрямую работающие с интерфейсами ОС дефакто больше отдают отчет в том, что делают, нежели другие, которые укрывшись за слоями абстракций, пишут как считают нужным.
H>>хыхых, имею совершенно обратное мнение, что чем больше доступа к системе тем больше там людей совершенно не отдающих себе отчет в том что они делают _>зачем спорить, достаточно посмотреть качество C# софта 95% — говно — глючное, тормозящее, страшное. и это имея возможности .net!
Достаточно посмотреть на любую платформу и увидеть что 95% софта там такое независимо от языка
H>Мобильные платформы плохой пример, там код по любому разный.
В каком смысле "пример"? Это не пример — это реальная ситуация. А почему код должен быть разный? Есть немного платформозависимого кода, но ничтожно мало по сравнению со всем остальным кодом, и то, например, код, использующий POSIX, годится для айфона, Mac OS, MeeGo, андроида и линукса, а также частично для винды и симбиана.
Так что код на C++ на 99,9% одинаковый для всех платформ. А вот с джавой (Blackberry) и C# — проблема.
Гугл ведь тоже сначала выкобенивался со своей джавой на андроиде, но потом сдался. Blackberry, к сожалению, так и стоит особняком. И вот с Windows Phone — вопрос.
Здравствуйте, henson, Вы писали:
K>>Была новость, что каким-то энтузиастам удалось сделать "jailbreak" Windows Phone 7 и получить доступ к native API, но Микрософт о чем-то там с ними договорилась, и лавочку свернули. Не подтолкнет ли ее это событие к раскрытию native API? H>Если открыть доступ к native API то программисты быстро превратят Windows Phone 7 в такое же унылое создание каковым является Windows Mobile 6.x
Это просто надо окружение нормальным делать. У Гугла в Андроиде это вполне получилось, к примеру.
Здравствуйте, Mr.Delphist, Вы писали:
MD>А насчет "тормознутости managed-кода" — про этот миф можно давно не вспоминать, равно как и про иные супер-метрики сферического программиста: MD>* "самые быстрые программы пишутся на Асме" MD>* "фигня ваш Delphi, там пустой экзешник полтонны весит" MD>* "плюсы — самый мощный язык всех времен и народов" MD>* и т.п.
толсто. особенно учитывая, что тормознутость managed-кода в том, что его криво написали, а не в том, что .net, managed или что-то ещё
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, henson, Вы писали:
K>>>Была новость, что каким-то энтузиастам удалось сделать "jailbreak" Windows Phone 7 и получить доступ к native API, но Микрософт о чем-то там с ними договорилась, и лавочку свернули. Не подтолкнет ли ее это событие к раскрытию native API? H>>Если открыть доступ к native API то программисты быстро превратят Windows Phone 7 в такое же унылое создание каковым является Windows Mobile 6.x C>Это просто надо окружение нормальным делать. У Гугла в Андроиде это вполне получилось, к примеру.
Согласен, но горбатого сами знаете кто исправит...
Вроде говорили к ним Nokia прибьется
Здравствуйте, Kerbadun, Вы писали:
H>>Мобильные платформы плохой пример, там код по любому разный.
K>В каком смысле "пример"? Это не пример — это реальная ситуация. А почему код должен быть разный? Есть немного платформозависимого кода, но ничтожно мало по сравнению со всем остальным кодом, и то, например, код, использующий POSIX, годится для айфона, Mac OS, MeeGo, андроида и линукса, а также частично для винды и симбиана.
И что вы напишете на одном POSIX? Платформеннозависимый код это почти весь GUI, плюс для мобильных платформ важна оптимизация ресурсов, а в рамках единого code base это приводит к портянкам препроцессора которых лучше не видеть
K>Так что код на C++ на 99,9% одинаковый для всех платформ. А вот с джавой (Blackberry) и C# — проблема.
Ну опишите success story приложения которое использует 99.9% общего кода хотя бы на трех мобильных платформах.
Здравствуйте, henson, Вы писали:
H>Здравствуйте, Cyberax, Вы писали:
C>>Здравствуйте, henson, Вы писали:
K>>>>Была новость, что каким-то энтузиастам удалось сделать "jailbreak" Windows Phone 7 и получить доступ к native API, но Микрософт о чем-то там с ними договорилась, и лавочку свернули. Не подтолкнет ли ее это событие к раскрытию native API? H>>>Если открыть доступ к native API то программисты быстро превратят Windows Phone 7 в такое же унылое создание каковым является Windows Mobile 6.x C>>Это просто надо окружение нормальным делать. У Гугла в Андроиде это вполне получилось, к примеру.
H>Согласен, но горбатого сами знаете кто исправит... H>Вроде говорили к ним Nokia прибьется
разве что их менеджеры совсем с ума сошли. Палм вот когда-то тоже на виндовс перешел. и где они теперь???
MD>Но есть вопрос: чего Вам не хватает в текущем виде? Зачем нужен native API? Аргумент "люблю писать на плюсах" отбрасываем как субъективный.
Человекочасы, конечно, деньги, но иногда даже не они причина.
А, внезапно, скорость.
Мне переписывать OGG/Vorbis decoder на C#/Silverlight? А работать оно будет в результате? Ну, то есть, декодировать минутный, например, сэмпл и проигрывать его?
Работа с legacy бинарными данными (библиотеки на C++ для чего написаны 10 лет назад)
Image processing, написанный на C# будет работать в N раз дольше чем написанный на С. Ну, и на C он уже написан, ага. И работает на iPhone и Android.
Здравствуйте, Dair, Вы писали:
D>Работа с legacy бинарными данными (библиотеки на C++ для чего написаны 10 лет назад)
Этот код потенциально опасен, т.к. Вы хотите погрузить его в managed-окружение. И возраст тут — не показатель, и вот почему:
Был у нас в одном пректе вредный сложноуловимый баг. Редкий, но если случался — всё ломал. А юз-кейсы у юзера могли быть долгие, сотни часов — всегда приятно запороть недельный труд, правда? Пусть и раз в пол-года такое.
И вот однажды выпала мне лотерея — баг этот таки воспроизвелся, когда я чем-то другим занимался. Ну, тут уже не отвертеться ему — ползу по шагам в сырцах, за бороду держу, не отпускаю. И вдруг — приполз. В библиотеку аудио-кодеков, на plain-C писанную, с многолетней репутацией, проверенно-непогрешимую и всё такое. А вот случался с ней казус в одной из сишных структур — указатель почему-то мог быть битым. Причину затем по сырцам либы нашли. Просто в однопоточном окружении этот кейс вообще никогда не случался, а в многопоточном — редко-редко, но стрелял.
D>Image processing, написанный на C# будет работать в N раз дольше чем написанный на С.
Ну сколько можно эту жвачку жевать? "Медленный C#, медленный .NET, кругом индусы...".
Да на сях тоже можно накарябать так, что мама не горюй. Хочешь быстрый код? Уметь надо. Уметь на C, уметь на C#, уметь на чём надо. Уверяю, упереться в ограничения любой взрослой платформы (хоть .NET, хоть Win32 API, хоть что ещё) куда сложнее, чем в собственный радиус кривизны.