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

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

Отличная статья, спасибо ?

— Ява 18 -
— Ява 19 -

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

Спасибо! Исправил.

Если вам нужен более детальный, подробный основательный обзор, включая упражнения, вы можете ознакомиться с моим курсом по основным функциям Java 8.

Note: With March 1st, 2020 this episode has been archived. It is not available for new purchases anymore. Current customers still have access to this series when they are logged in and access their accounts page.

Ссылка нерабочая. Уже 3 года как.

Спасибо! Исправил.

Спасибо за обзорную статью. Сразу захотелось пересесть на свежую версию и попробовать новые функции.

Любят в джава-мире рассказывать про обратную совместимость, и что можно безболезненно переходить на новые версии. Но это нифига не так. Периодически там что-то меняют капитально, не на уровне языка, но на уровне библиотеки или JVM, так что серьезный старый энтерпрайзнутый код работать перестает.

Начиная вот от удаления депрекейтнутых апи - да, не спорю, язык надо чистить, но что делать тем кто их использовал? - до каки-то внутренних штук. Например в какой-то момент сломались библиотеки работы с байт-кодом типа Asm, а на них были завязаны многие крупные DI-фреймворки, типа Spring. Так что переход на новую джаву тащил за собой обновление спринга, а с ним его зависимостей, и мог принести много боли.

«за некоторыми исключениями, о которых вам пока не нужно беспокоиться.»

Поэтому многие сидят на Java 8 до сих пор :)

Многие сидят на Java 8, потому что это последний кардинальный релиз с точки зрения разработчика. Разница между 1.7 и 1.8 огромна. Если бы не начали использовать эту убогую схему именования версий, то даже Java 19 можно было весьма с натяжкой называть версией 1.9.


Да, сюда можно притянуть модули из 9, поговорить об изменениях GC, вспомнить улучшения стандартных API, но все нововведения именно языка хоть и были полезны и многими ожидаемы, но едва ли перекрывают огромный пласт "функциональщины", введённой в 1.8.

Amber достаточно существенный (это var, records, новый switch expressions, pattern matching в switch и instanceof). Будет очень приятно если оно успеет побольше въехать в 21 (следующая lts с уменьшением времени между lts с 3 до 2 лет). Но по большей части воспринимается как синтаксический сахар пока valhalla для нормальных adt не приехала.

Кому-то loom (virtual threads, tail call optimization) будет очень кстати. Не помню structured concurrency (scoped threads) делалась в рамках него или нет. Но не сдвиг парадигмы, конечно.

Valhalla (value types, user-defined primitives, hidden classes) вполне возможно будет прорывом сопоставимым с добавлением дженериков или лямбд.

Ну и panama -- новое ffi и offheap. К сожалению не очень скоро. Очень важно для баз данных, вычислительного барахла и т.п. Для некоторой узкой части пользователей это вполне сопоставимо с фичами 1.8.

Вот упомянутый jpms/jigsaw принёс пользователям куда меньше фич (и больше проблем с необходимостью добавлять --add-opens, вечно ломающимся lombok и развлечением с кодогенерацией во фреймворках). Кому надо было до этого сидели с osgi, jboss modules и, вероятно, другими подобными вещами.

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

Публикации

Истории