Ява, питон, перл, пхп и им подобные имеют недостатки:
- по полной программе нельзя использовать все особенности платформы
- код абсолютно не защищен от изменения или реверса.
Другое дело, что есть огромное число либ и всяких примочек к ним. Это увеличивает скорость разработки в разы, но с другой стороны производительность хромает конкретно. Да и не какой оптимизации сделать не удастся.
Дык не стоит использовать Java для несвойственных задач (и ты зря поставил эти технологии в один ряд, Java в одном ряду с .Net, но не с теми языками, что ты перечислил). Всегда можно докупить дополнительные сервера, т.к. разработка на Java подразумевает разработку масштабируемых предложений, то вырастет и производительность.
Про скорость работы: в тех задачах под которые заточена Java, скорость работы имеет последнее значение, т.к. задержки при работе с сетью перекрывают практически любые проблемы недостаточной оптимизации. К тому же почти в любом случае стоимость работы программиста дороже любого железа, а Java заточена под быструю разработку распределённых приложений. Т.е. оптимизация в том виде в котором её понимают C/C++ программисты совершенно не нужна. (Я не говорю об алгоритмической оптимизации).
Так же при разработке корпоративных приложений не нужна закрытость кода , т.к. такие приложения годами пишутся под одного клиента и больше никому обычно не нужны.
По теме - gui на Java не люблю, по мне Qt выглядит гораздо красивее. Но разработка на Java конечно проще и быстрее, и не требуется перекомпиляции.
З.Ы.
.Net не подходит для кросcплатформенной разработки, т.к. Mono - несчастный калека.
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..