Как стать автором
Обновить

Комментарии 3

Можно в 2х словах для не джависта

Куда джава развивается последние лет 5, например?

Несколько параллельных инициатив за последние года:

  1. проект Лум - виртуальные потоки. Способ делать асинхронное программирование на джаве, без сложного реактивного программирования.

  2. Паттерн матчинг - инструмент для реализации Data-oriented программирования (описываем нашу предметную область, как records, и sealed classes/interfaces, а потом пишем логику, используя exhaustive switch).

  3. Улучшение производительности за счет ряда проектов (Vector API, GC improvements).

  4. Улучшение взаимодействия с нативным кодом (Project Panama) - как вызывать Си функцию (или любую другую с C ABI) без боли и приседаний.

  5. Упрощения языка для начинающих программистов - как сделать так, чтобы первая программа на джаве не требовала IDE, build tool, и прочтения книжки, а можно было просто взять и написать main() функцию и какой-то код.

Java развивается примерно туда же куда и другие популярные ЯП: реагирует на меняющуюся реальностью предоставляя новые востребованные возможности, и постепенно "починяя" старые косяки.

Сильно изменился собственно процесс разработки (уже лет 10 как?), в результате мы имеем частые релизы с меньшим количеством новых фич, но фичи эти переживают несколько итераций до релиза и, в итоге, выглядят гораздо более вылизанными, продуманными и последовательными.

Подъезжает все больше и больше поддержки современных подходов к разработке (функциональщина и pattern matching, Data-oriented - вот это вот всё)

Всё еще трепетное отношение к обратной совместимости: что то удаляется из языка крайне редко и с предупреждением за много лет. Это, надо заметить, важная для бизнеса и сложная для разработчиков самого языка особенность.

Постепено платятся старые долги. Это история про какие-то вещи которые "странно что этого не было ещё 20 лет назад". Т.е. мы не только про "давай давай новый API и поддержку модных парадигм", но и про то что "давно пора бы вот это до ума довести". Text Blocks или, скажем, SequencedCollection как примеры.

Большие усилия в сторону производительности. Это мало заметно простым разработчикам, однако много чего происходит в "кишках": сборщики мусора (которых уже сколько? шесть?), всякие низкоуровневые и платформозависимые оптимизации и т.п.

В целом Java выглядит очень активно развивающимся и актуальным ЯП. Прям чем дальше тем больше хорошеет, как по мне.

При этом надо помнить, что мы говорим о ЯП с 30-летней историей и необъятной экосистемой. Скажем мягко "в некоторой степени спорные вещи" останутся с нами до конца времен: По видимому в Java никогда не будет "Null safety" как в Kotlin; Java никогда не станет столь прост в освоении к Python; Короче, много к чему вопросики есть. Но вокруг какого ЯП таких вопросиков нет?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий