Комментарии 3
Можно в 2х словах для не джависта
Куда джава развивается последние лет 5, например?
Несколько параллельных инициатив за последние года:
проект Лум - виртуальные потоки. Способ делать асинхронное программирование на джаве, без сложного реактивного программирования.
Паттерн матчинг - инструмент для реализации Data-oriented программирования (описываем нашу предметную область, как records, и sealed classes/interfaces, а потом пишем логику, используя exhaustive switch).
Улучшение производительности за счет ряда проектов (Vector API, GC improvements).
Улучшение взаимодействия с нативным кодом (Project Panama) - как вызывать Си функцию (или любую другую с C ABI) без боли и приседаний.
Упрощения языка для начинающих программистов - как сделать так, чтобы первая программа на джаве не требовала IDE, build tool, и прочтения книжки, а можно было просто взять и написать main() функцию и какой-то код.
Java развивается примерно туда же куда и другие популярные ЯП: реагирует на меняющуюся реальностью предоставляя новые востребованные возможности, и постепенно "починяя" старые косяки.
Сильно изменился собственно процесс разработки (уже лет 10 как?), в результате мы имеем частые релизы с меньшим количеством новых фич, но фичи эти переживают несколько итераций до релиза и, в итоге, выглядят гораздо более вылизанными, продуманными и последовательными.
Подъезжает все больше и больше поддержки современных подходов к разработке (функциональщина и pattern matching, Data-oriented - вот это вот всё)
Всё еще трепетное отношение к обратной совместимости: что то удаляется из языка крайне редко и с предупреждением за много лет. Это, надо заметить, важная для бизнеса и сложная для разработчиков самого языка особенность.
Постепено платятся старые долги. Это история про какие-то вещи которые "странно что этого не было ещё 20 лет назад". Т.е. мы не только про "давай давай новый API и поддержку модных парадигм", но и про то что "давно пора бы вот это до ума довести". Text Blocks или, скажем, SequencedCollection как примеры.
Большие усилия в сторону производительности. Это мало заметно простым разработчикам, однако много чего происходит в "кишках": сборщики мусора (которых уже сколько? шесть?), всякие низкоуровневые и платформозависимые оптимизации и т.п.
В целом Java выглядит очень активно развивающимся и актуальным ЯП. Прям чем дальше тем больше хорошеет, как по мне.
При этом надо помнить, что мы говорим о ЯП с 30-летней историей и необъятной экосистемой. Скажем мягко "в некоторой степени спорные вещи" останутся с нами до конца времен: По видимому в Java никогда не будет "Null safety" как в Kotlin; Java никогда не станет столь прост в освоении к Python; Короче, много к чему вопросики есть. Но вокруг какого ЯП таких вопросиков нет?
Java Digest #11