В это время года опросы, подводящие итоги года, бомбардируют нас со всех сторон. Здесь у нас есть взгляд Баельдунга на состояние Явы в 2019 году.
Java продолжает развиваться, несмотря на то, что ее называют «старой лошадью» коллектива языков программирования.
Он по-прежнему занимает первое место в индексе Tiobe, борется с Javascript и Python за второе место как на PYPL, так и на RedMonk и занимает третье место как самый популярный язык на GitHub среди участников репозитория (по данным GitHub Octoverse).
Именно это безвременье означает, что Udacity, которая в основном специализируется на модных языках, фреймворках и темах, таких как Kotlin, React, Data Science, Android, AI и автономные транспортные средства, признает необходимость наноуровня разработчика Java, как мы описали в разделе «Регистрация открыта для нового наноуровня разработчика Java», где мы сообщили, что:
Java всегда была фаворитом — предприятия говорили и до сих пор говорят на Java. Не смотрите дальше списка Fortune 500 компаний, полагающихся на него. Да, Голубым фишкам это нравится.
Причин тому множество. Больше всего предприятия ценят обратную совместимость, поскольку, как известно, у них аллергия на радикальные обновления и обновления. Системы, которые работали 20 лет назад, написанные на Java 5, должны иметь возможность компилироваться и запускаться под версией 8. Стабильность-вот что важно.
Baeldung e-learning, сайт, полностью посвященный Java, с курсами и книгами, в основном посвященными Spring, но внимательно отслеживающими тенденции во всем, что касается Java, опубликовал свой собственный опрос — Состояние Java в 2019 году, отражающий мнение 6707 разработчиков.Пул респондентов может быть небольшим по сравнению с другими опросами, но имейте в виду, что это целенаправленная и опытная аудитория, которая знает, что искать.
Первая тема, которую затрагивает опрос, — это принятие версии Java. С гораздо более быстрым циклом выпуска после версии 8, почти касаясь версии 14, можно было бы ожидать, что большинство из них перешли бы на более свежую версию. Однако на самом деле это не так. Как подчеркивается в обзоре.80% разработчиков, принявших участие в опросе, все еще находятся на почтенной версии 8!
Это может быть по нескольким причинам. Во-первых, 8 новаторских функций языка Java (см. Мой обзор книг по закрытиям и лямбдам) все еще усваиваются сообществом программистов. Посмотрите, сколько потоковых и дополнительных связанных с ними вопросов все еще циркулирует в Интернете по состоянию на 2019 год. Таково Декабрьское Руководство По Java 8, подготовленное самим Баельдунгом.
Во-вторых, новая модульная система, одобренная Java 9, скорее запутала и напугала людей, чем облегчила их жизнь. В-третьих, функции, которые были введены в более поздних версиях Java, не кажутся достаточно убедительными, чтобы оправдать скачок.
Наконец, еще один большой поворот и еще одна путаница состояли в том, что после января этого года Java SE 8 общедоступные обновления и после этого требуют коммерческой лицензии. И именно здесь начинается битва Oracle JDK против OpenJDK, как описано в нашей статье, Java все еще свободна? новость:
С недавними изменениями в дистрибутиве и поддержке Oracle JDK возникла значительная неопределенность в отношении прав на использование Oracle JDK против сборок Oracle OpenJDK против сборок OpenJDK от других поставщиков. Существуют также планы относительно бесплатных обновлений и (новых и существующих) платных моделей поддержки, доступных для рассмотрения различными поставщиками.
Опрос также содержит результаты, относящиеся к другим областям.
Принятие фреймворка Здесь в ландшафте доминирует Spring, легкий фреймворк для современных корпоративных приложений на базе Java против традиционного и ожиренного Java EE.
Использование инструментов сборки Результаты показывают, что Maven первый с большим отличием от второго Gradle.Это показывает, что Gradle по-прежнему является синонимом Android и потребует гораздо больше усилий, чтобы избежать этих ограничений, чтобы считаться жизнеспособной альтернативой для сборки Java общей практики.
После стольких лет традиционное затмение по-прежнему остается сильным, и его доля составляет 32,8% по сравнению с 38% в прошлом году. Однако IntelliJ с почти 60% занимает первое место. Но что такого особенного в IntelliJ? Андрей Чепцов, пишущий в блоге JetBrains, указывает на две жизненно важные особенности:
Завершение:
Когда вы пишете код, IntelliJ IDEA занят построением своего синтаксического дерева, созданием ссылок между классами, переменными, полями, методами и их использованием, анализом потока выполнения и использованием этой информации, она может обеспечить завершение, помочь вам быстро перемещаться по коду, обеспечить анализ ошибок и предложить удобные быстрые исправления.
Рефакторинг:
Приятным побочным эффектом индексирования синтаксических деревьев кода и их отношений является то, что это позволяет IntelliJ IDEA манипулировать этими деревьями для применения сложных рефакторингов во многих языках, выражениях и диалектах.
Соедините их с эргономикой,и вы легко поймете, почему ему отдают предпочтение большинство разработчиков Java, отсюда и интеллектуальная часть в его названии.
В 2011 году Майк Гуалтьери, вице-президент, главный аналитик Forrester, написал пророческую и вневременную статью под названием » Хватит тратить деньги на Серверы приложений WebLogic, WebSphere И JBoss
Он начал с :
Используйте Apache Tomcat. Это бесплатно.
Я не понимаю, почему фирмы тратят миллионы долларов на серверы приложений Java, такие как Oracle Weblogic или IBM WebSphere Application Server. Я понимаю, почему фирмы тратят деньги на Red Hat JBoss — они хотят меньше тратить на серверы приложений. Но зачем вообще что-то тратить? Apache Tomcat удовлетворит требованиям к развертыванию большинства веб-приложений Java.
Диаграмма отражает это утверждение; Tomcat является бесспорным чемпионом с причалом и его легким ресурсоемким следом на своих дорожках.Положение предложений в супертяжелом весе в турнирной таблице отражает их возраст и анахроничные требования.
У меня было свое собственное приключение с WebLogic, которое я описываю в Hardcore DevOps: Создание портативного клиента Weblogic на CLI.
Другие языки JVM
Во-первых, что несколько удивительно и интересно, так это то, что 62,6% разработчиков используют только Java, как и в прошлом году (62,8%). Я определенно ожидал, что это число снизится, учитывая сильное принятие Котлина, но, похоже, пока этого не произошло.Тем не менее, Kotlin все еще вырос с 13% в прошлом году до 16,5% сегодня
Как и Gradle, Kotlin, который может быть идеально использован в качестве языка общего назначения и особенно в серверных средах, все еще не может быть принят за пределами Android.
DatabasesMySQL и PostgreSQL являются первыми двумя, OracleDB занимает третье место, MongoDB и MS SQL-четвертое и пятое. Здесь следует отметить две тенденции. В соответствии с опросом популярности СУБД Percona, реляционные СУБД превосходят NoSQL, в то время как СУБД с открытым исходным кодом лучше своих коммерческих аналогов с большим именем. Опять же, как и на веб-сервере, люди ищут более легкие эквиваленты, особенно PostgreSQL.
В заключение я думаю, что опрос пытается сказать, что Java не должна быть вытеснена. Он останется в тройке лучших в любой лиге на долгие годы, опираясь на образцовую лояльность своего сообщества программистов. Но хотя люди по-прежнему придерживаются языка и окружающей его экосистемы, они также стараются держаться подальше от Oracle и ее предложений, будь то ее IDE (JDeveloper), Серверы (WebLogic), JDKs и ее флагманская база данных. MySQL является исключением, потому что на него в основном не влияет владение Oracle. Большинство пользователей Java ищут более легкие, эффективные, более дешевые, удобные для разработчиков и лицензий эквиваленты, которые находятся на одном уровне или даже лучше, чем у Oracle.