Новые технологии, связанные с программированием, возникают почти каждый день. Не все из них живучи и заслуживают сколь угодно пристального внимания. Тем не менее, может статься, одна из тысячи «выстрелит» и станет тем, что называют «the next big thing». Или «прорывом», если угодно.
Близок ли конец Java? Нет! И вот почему… - 1
У этого процесса есть и обратная сторона: новые технологии вытесняют старые. Этот процесс естественным образом вызывает беспокойство у специалистов, которые потратили годы на изучение чего-либо, а также у компаний, которые думают, что им выгоднее внедрять. Язык программирования Java появился в 1995 году. «Не так уж мало, — подумает кто-то. — Возможно, пора на покой?». Всё не так просто! Во-первых, большинство популярных языков программирования близки по возрасту к Java, и это неспроста. Многих начинающих программистов удивляет тот факт, что Python появился на 4 года раньше Java, JavaScript и Ruby — в том же 1995, а C++ и Objective C — и вовсе в 1983 году. Все языки из этого списка активно используются в веб-программировании, «энтерпрайзе», игровой индустрии. А Java наряду с JavaScript — самый популярный язык в мире согласно великому множеству опросов и признакам. Язык Java уже превратился в своеобразную религию (рациональную и обоснованную!), количество адептов которой только возрастает. Убедитесь в этом сами. Вот что думают программисты, которых спрашивают, близок ли конец Java. Далеко не все из них отвечают серьезно. Знаете, почему? Потому что их уже достал этот дилетантский вопрос о близком конце Java.

Стэнли Идесис (Stanley Idesis) — программист, писатель и просто милашка всеамериканских масштабов

Я лишь повторю то, что слышал от мудрых коллег. Самым важным мне кажется тот факт, что корпорации рассчитывают на долгое процветание Java. Большим компаниям внедрить в свою инфраструктуру молодые языки и платформы будет стоить очень и очень больших денег. Java уже хорошо освоена и стабильна, так что крупные корпорации чувствуют себя комфортно, инвестируя в нее. Поэтому они будут продолжать это делать. Кроме того, язык Java компилируется в байт-код. Не следует списывать со счетов виртуальную машину Java (JVM): она может выполнять этот байт-код на нескольких системных архитектурах (Windows, Linux, OS X и так далее). Можно встретить противников Java, которым нужно запустить свой код на JVM, этой мощной среде выполнения. Они, к слову, могут это сделать, написав свое программное обеспечение на других языках (Scala, C, C ++ и других). Так вот, популярность JVM не даст загнуться и Java. И чтобы вы не подумали, что я пытаюсь погонять павшую лошадь, приведу ссылку на рейтинг TIOBE: в этом году Java с результатом в почти 13%, по-прежнему в лидерах среди самых обсуждаемых в интернете языков. Его ближайший соперник, Си, существенно отстает от Java (его результат — почти 7%). Редакторы TIOBE отмечают, что лидерству способствуют возможности полноценного функционального программирования, появившиеся в восьмой версии Java.
Близок ли конец Java? Нет! И вот почему… - 2
Что ждёт Java в будущем? Состоявшиеся мега-корпорации продолжат использовать Java и JVM, а вот новички, скорее всего, воспользуются платформами, которые сокращают цикл разработки, например, RoR или Django. С другой стороны позиции Java в мобильном сегменте будут укрепляться благодаря API Android от Google.

Пуджан Сривастава (Pujan Srivastava), ведущий инженер по продукции

Никуда Java не денется. По крайней мере, в ближайшие 10 лет. Те времена, когда Java считалась слишком медленной (да, такое было… когда-то) безвозвратно ушли. Пускай Java использует больше памяти, чем C, но кого это волнует! Тем не менее, Java — прекрасный язык! И вот мои доводы. Объектно-ориентированная реализация в Java очень хороша, объектно-ориентированные функции быстро расширяются (быстрее, чем C ++ во многих случаях), поскольку они изначально разработаны как объекты. Синхронизация и многопоточность в Java просты и эффективны. Современные компьютеры обычно имеют несколько ядер, и поскольку потоки встроены в язык, вы можете легко воспользоваться преимуществами. Вы получите прирост производительности от 100 до 300% по сравнению со стандартным однопоточным кодом C. Да, тщательно написанные потоки и библиотеки Си могут улучшить показатели, но это отнимет у программиста очень много времени и сил. «Умная» реализация класса String: подстроки могут содержать ссылки на родительский массив символов String (что сохранит память и время). Длина строки сохраняется (вместо использования пустых ограничителей), что позволяет выполнять очень много операций (конкатенацию, взятие подстроки, длины) очень быстро. Коллекции очень быстры. В этой области Java превосходит C/C ++, даже в случае большинства оптимизированных C-кодов. Мне кажется, это связано с обработкой объектов. Копирование массива сильно оптимизировано. В последних версиях версии 1.6.x Java использует ручной ассемблер для System.arraycopy. В результате, в тяжёлых операциях arraycopy / memcopy мой код превосходил эквивалент на Cи по всем параметрам.
Близок ли конец Java? Нет! И вот почему… - 3
Java — это самый популярный язык программирования в StackOverFlow! Большинство корпоративных доменов, особенно Banking, Finance, Automobil, широко используют Java EE, поскольку обеспечивают более высокую масштабируемость и производительность по сравнению с другими языками программирования.

Вайбхав Маллья (Vaibhav Mallya), в прошлом — программист в Twitter и Amazon. Сегодня — основатель сервиса по поиску работы https://www.offerletter.io

Близок ли конец Java? Вы серьезно? Да где там, чёрт побери. Java непоколебима хотя бы потому, что она повсюду: JVM используется почти каждой компанией Fortune 1000 для запуска критически важных инфраструктур. Java изучают в тысячах университетов и колледжей по всему миру. Да что там, в странах третьего мира дети пишут на Java, прежде, чем начинают изучать английский! Нет, друзья, Java ещё нас с вами переживёт! Прихожане Церкви последних дней Гиперкодеров будут ныть о судить о type erasure (затирании типов) и AbstractWormholeFactoryAdapterFactories, поскольку мы колонизируем галактику. Инопланетные цивилизации будут рутифицировать двоичную несовместимость между версиями наших файлов байт-кода Java, собранными далекими потомками Макнили и Гослинга…
Близок ли конец Java? Нет! И вот почему… - 4
И тогда, когда последний человек откажется от своей плоти, дабы объединиться с Неограниченным Трансверсальным Сознанием в постсингулярной оргии, ненадлежащая развернутая установка JVM запустит обычную такую процедуру сборки мусора и сократит задержки в какой-то скучной Большого Взрыва искусственным интеллектом… Java бессмертна!

Выводы

1. Java повсюду Грубо говоря, в корпоративном сегменте доминируют Java EE и С# .NET с существенным перевесом в сторону Java. Большие корпоративные системы строятся годами, в них много легаси-кода, и переписывать их под другие платформы — долго и накладно. Тем более, что… 2. Java развивается от версии к версии Java-1995 практически полностью совместима с Java-2017, но это не значит, что они одинаковы!
Близок ли конец Java? Нет! И вот почему… - 5

Самая частая жалоба о Java, относится к ее многословности. Осознавая это, дизайнеры java-языков внедряют усовершенствования в каждой версии java-версии, эффективно развивая java для уменьшения кодовых таблиц (например, аннотации, дженерики, try-with-resource). Java 8 — действительно революционная. Поддержка функционального программирования (лямбда-выражений и API-потоков) позволяет использовать сжатый, читаемый и чистый стиль программирования. 3. Java — отличный гибкий объектно-ориентированный язык с массой возможностей. В этом языке хорошая реализация коллекций и строк, удобная «сборка мусора», и сильная многопоточность. 4. Сообщество Java — его сила! Загляните на StackOverflow и Github! Эти веб-сайты — как лакмусовые бумажки, наглядно демонстрируют тренды в мире программирования. Посмотрите и убедитесь: Java прекрасно себя чувствует! 5. Android Легче и логичнее всего программировать под Android именно на Java. Этот язык, можно сказать, родной, для этой платформы. Так что не «энтерпрайзом» единым! P.S.: И — да — Java — это культ. Присоединяйтесь! По мотивам материалов сайта Quora.

Что еще почитать:

Стоит ли учить Java в 2017 году? Отвечает Коди Вебер

Программирование — это сложно. Именно поэтому стоит его изучать