Здравствуйте, MxMsk, Вы писали:
MM>Уважаемые! Все мы давно уже сто раз спорили, что же круче, Java, C#, C++. Что быстрее, что удобнее, что сложнее, что труёвее и т.п. Часто эти споры были про сферические кони, и каждый хвалил своё "болото". Предлагаю немного приблизиться к практике.
MM>Собственно, предлагаю привести судьбы реальных проектов, которые полностью или частично перешли на managed, плюс истории перехода наоборот, когда в итоге решили отказаться от управляемых языков. Интересно услышать и о новых проектах, какова в них доля managed кода и в каких слоях он применяется.
MM>Хочу заострить внимание, что не стоит под managed понимать только C#, а под unmanaged только С++
Я уже не однократно и много лет делаю одни и теже проекты (мобильные игры, как и 2d так и 3d) и на java и на c++ (j2me/brew в основном ну и плюс iphone/android). Причем основной бывает и c++ версия, и java версия.
Мои выводы врядли будут достойны форума с названием flame
Если придерживатся небольшого количества правил, разницы по большому счету нет. Скорость разработки после появления определенного количетсва наработок на C++ практически идентичная, ну может быть на java процентов на 10 быстрее получается. Если совсем с нуля, то поболее — но тут нужно учесть, что на BREW нету статических неконстантных данных со всеми вытекающими.
Скорость работы игр в результате (есть возможность сравнить на одинаковом железе) тоже практически идентичная, ну опять же может java на процентов 10 медленне (если процессор без джазели).
На си за счет прямого доступа к памяти и портам пару раз получилось сделать интересные эффекты, что очень приукрасило BREW версию игры, но с другой стороны было два случая жесткого двухдневного дебага из-за "выстрела" по памяти.
Среды разработки MS VS и IDEA вполне одного качества и уровня удобства.
Новых проектах, насколько мне известно, некоторые компании, в случае базовой java версии, при портировании на с++ используется практически автоматически система портинга. Т.е. код парсится, разбирается и создается аналогичный c++ код. "Базовые библиотеки" (midp и cldc) так же реализованны на с++.
Как-то так