Задать вопрос

Почему востребован Java?

Привет!

Не могу найти ответ на вопрос в чем причина популярности Java, точнее много информации
о том, что Java-программисты очень востребованы и высокооплачиваемы, хотя в реальной жизни
Java-приложений я не встречал (не учитываю игры в архивах .jar на старых черно-белых сотовых телефонах).
Большой плюс это конечно кроссплатформенность, но не у всех же установлена JVM, плюс к этому байт код генерируемый компилятором Java очень легко декомпилируется, также скорость выполнения программ крайне низкая.

Заранее спасибо.
  • Вопрос задан
  • 13320 просмотров
Подписаться 15 Оценить Комментировать
Решения вопроса 1
Foror
@Foror
Графоман
>причина популярности Java
Как-то так:

- простой синтаксис, без лишних сложностей - я лет 8 на С++ не програмил, но в последнее время, бывает гляну на С++ код и просто тихий ужас :) А альтернатив С++ просто нет, только Java. Нет, конечно есть всякие Rust, D, но это пока для гиков поиграться.

- удобная организация библиотек и качественные инструменты для управления зависимостями (остальные только-только начинают догонять) => без головняков собирать большие проекты и подключать сторонние либы

- проработанная и шустрая многопоточность, в том числе так называемые goroutine, особенно в последних версиях (7-8)

- JVM, на которой можно легко програмить на Scala, Groovy, Python, Ruby, JavaScript, Kotlin, Ceylon и т.д. и т.п. Если не нравится синтаксис Java. При этом то, что запрограмил на Python будет доступно из Java, и наоборот. Это очень круто. Но все еще высок порог входа, чтобы управлять всем этим хозяйством. Я вот, как раз пилю кое-что в данном направлении, чтобы обрушить этот порог :)

- Android

- (Инди) игры (Minecraft, Delver, Lineage - тысячи их)

На десктопах Java нет, лишь из-за C# и Windows, а так посмотрите InteliJ IDEA 13 это пример насколько может быть сексуальным десктопный интерфейс на Java.

И еще, те кто пытался писать на Ruby, затем переделывали на Java/Scala, т.к. 1 сервер на Java, проще, чем 10 серверов на Ruby при той же нагрузке.

>скорость выполнения программ крайне низкая
Это миф, тянущийся из бородатых 90-х. Современные HTTP серверы построенные на Java по производительности на уровне C/C++ реализаций. Но памяти конечно жрут больше, но это отдельная тема и в наше время это не такая уж и проблема.
Ответ написан
Пригласить эксперта
Ответы на вопрос 10
Потому что Enterprise. Потому что огромные приложения. Потому что относительно проще аналогичных языков. Потому что множество готовых решений и уже написанных приложений. Потому что Android.

Откуда такие знания про крайне низкую скорость выполнения? В моей практике Java медленнее C++ не более, чем в 2 раза, но в большинстве случаев сопоставимо с C++.
Ответ написан
Lerg
@Lerg
Defold, Corona, Lua, GameDev
Корпоративный веб. Плюс теперь Android.
Ответ написан
@lookid
Сейчас что не проект то хайлоад, сотни потоков, базы данных и прочее. А что вы любите больше? Текучую память ловить или код писать?
Ответ написан
dmko
@dmko
хотя в реальной жизни Java-приложений я не встречал

У гугла сервисы написаны на java, тот же гугл+ и гмаил
Ответ написан
Bringoff
@Bringoff
Android dev at Freelance
Похоже на одного мого знакомого три месяца назад. Теперь на Java пишет О_о
Декомпилируемость - не порок, к тому же есть методы обфускации.
Скорость не такая уж и маленькая, в большинстве случаев ее достаточно. Простота разработки сполна окупает возможные проблемы, связанные с этим.
Ответ написан
Комментировать
VortexHum
@VortexHum
И в ближайщее время он не станет неактуальным?
Ответ написан
Комментировать
@olexande
Много банковского ПО написано на Java.
Сейчас, правда клиент-банковское ПО все активнее переводится в веб.
Но это не значит, что в банках от Java отказываются.

Некоторое время приостановилось развитие JavaME-"ветки" (платформы), но для нее нашли иную нишу - embedded.

Если и по какой-то причине перестанут появляться новые проекты, то все-равно существующее необходимо поддерживать.

Встречал подобную тему, так и вакансию даже находили ...

На сайте IBM недавно встречал ваканзию - искали специалиста знающего Java и "устаревшие" языки, что-бы Java портировать ранее написанное ПО.

Вот, вроде "по теме": www.softwaremining.com/platforms/ibm_cobol_migrati...

Была некоторое время подобная тема, там и вакансию в подтверждение находили ...

Плюс, на Java-виртуальной машине развиваются "новые" языки, котрые пытаются решить "болезни" Java, на которые первое время была реальная необходимость.
Ответ написан
@olexande
На что способен Python? - похожий разговор, но уже по Python.
Там пишут, что местный сабж медленнее Java... и примеры ее использования...

По непроверенным слухам Java изучают в американских школах ...
Ответ написан
Комментировать
По опыту - в back-end джаве мало конкурентов, PersonalHomePage язык и подобные - не та стезя вообще. Андроид разработка - на данный момент одна из самых высокооплачиваемых отраслей опять же, да и спрос на неё по экспоненте растет. FX приложения не пишет почти никто, но множество open-source проектов на джаве, да и вообще под неё очень и очень многое заточено.
Это не тот язык, который себя изживет в ближайшем будущем, не надейтесь.
Ответ написан
Комментировать
@beduin01
Лучше уже сейчас начать переходить на D. Перспектив у него куда больше чем у Java. Достаточно посмотреть на скорость работы того же Vibed, чтобы стало ясно, что высоконагруженные решения на Java писать смысла мало.

Кстати, еще статистика показывает, что Java крайне дырявая. 77% пользователей не обновля...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы