С выходом каждой новой версии Java, Oracle традиционно преследует одну цель: единожды написанный код должен запускаться везде. Но достаточно ли этого сегодня, чтобы удержать разработчиков? Об этом пишет портал ZDNet.
Oracle реализовала новую версию 15 языка программирования Java, созданного 25 лет назад сотрудником Sun Microsystems Джеймсом Гослингом. Последнюю Oracle купила в 2009 г. примерно за 7,4 млрд. долл., чтобы получить «самое важное ПО, которое когда-либо приобретала Oracle». Гослинг и его коллеги создали язык в
Java 15 (или Oracle Java Development Kit, JDK15 ) обзавелся алгоритмом цифровой подписи на основе кривой Эдвардса, скрытыми классами, финальными версиями текстовых блоков и сборщика мусора ZGC. Функция запечатанных классов в Java 15 вышла в первой предварительной версии, а сопоставление шаблонов с записями — во второй предварительной версии.
По словам разработчика-аналитика RedMonk, который оценивает популярность языков по количеству проектов на GitHub и активности разработчиков на Stack Overflow, Java обошел по популярности язык Python. В июле Java впервые с 2012 г. выбыл из лидирующих позиций в рейтинге RedMonk и теперь уступает по популярности и JavaScript, и Python. В сентябре в рейтинге Tiobe Java очутился на втором месте после языка C. Третье место занял Python. CEO Tiobe Пол Янсен отметил возрастающую популярность C++, языка с
Java 15 воплощает «технические инвестиции Oracle, которые способствуют инновациям в Java и помогают справиться с быстро меняющимся технологическим ландшафтом», — сказал вице-президент по разработке Oracle Java Platform Group Джордж Сааб. По данным Oracle, в мире развернуто 51 млрд. активных JVM, причем они применяются в таких сервисах, как аналитика, управление данными, большие данные, DevOps, а также в мобильных устройствах, инструментах для непрерывной разработки и чатботах. Хоть Java и универсальный язык, особенно по сравнению со специализированным Python, он не является лучшим выбором для специалистов по обработке данных и программистов, создающих приложения для машинного обучения.
Oracle выпускает новые версии Java каждые шесть месяцев. Она взяла за основу эту схему выпуска начиная с Java 10, который вышел в марте 2018 г. Цель компании состоит в том, чтобы предложить клиентам как можно больше инноваций в максимально сжатые сроки, но при этом обеспечивать предсказуемую и стабильную работу. До выхода JDK 16 в марте 2021 г. JDK 15 будет получать как минимум два ежеквартальных обновления с критически важными патчами безопасности. Директор по управлению продуктами Java SE Шарат Чандер утверждает, что шестимесячный цикл выпуска дает клиентам больше возможностей, стабильность и исправления ошибок: «Вместо того, чтобы делать десятки тысяч исправлений и принимать около сотни предложений по усовершенствованию (JDK Enhancement Proposals, JEPs), которые попадают в основной релиз каждые несколько лет, нововведения поставляются в виде небольших порций по шестимесячному графику».
Он добавил, что из 2136 проблем, обнаруженных в Java 15 системой отслеживания JIRA, 1702 были устранены разработчиками Oracle, а 434 исправлений внесли независимые разработчики и программисты из других организаций. К числу основных контрибуторов кода в JDK 15 Oracle относит ARM, Amazon, IBM, Intel, NTT Data, Red Hat, SAP и Tencent. Она также отметила вклад Microsoft и службу мониторинга облачных систем DataDog за внесенные ими исправления.
Аналитическая фирма Omdia по заказу Oracle провела оценку ее шестимесячной стратегии по выпуску Java, чтобы определить, достаточно ли этого, чтобы удержать миллионы разработчиков Java от защищенных от ошибок в памяти альтернатив, таких как Kotlin (рекомендуемый Google язык для разработчиков Android) и Rust — язык системного программирования, созданный Mozilla. «По мнению Omdia, работа Oracle, начатая несколько лет назад по переходу на шестимесячный цикл обновлений и введение нового уровня модульности, сослужила хорошую службу ей и ее клиентуре, насчитывающей около 12 млн. разработчиков, — говорится в отчете Oracle. — Однако Java нуждается в постоянном наполнении инновационными, обязательными и восхитительными функциями, которые сделают язык еще более удобным для пользователя и приспособленным к работе с облаком. Это принесет удовлетворение Java-разработчикам и сдержит их от перехода на новые языки, такие как Rust и Kotlin».