Comments 17
А IDE и пакетные менеджеры уже готовы?
Ого, UTF-8 по умолчанию аж в 2022 году, мощно.
Блин через года три будем каждый год на новый год новую джаву начинать изудчать.)
Интересно, что даже не смотря на небольшое количество изменений, обязательно находятся люди, недовольные тем, что нужно что-то новое почитать. Так и не нужно, в конце концов можете и дальше на 8-ой писать, а лучше на 6-ой или 5-ой.
Большая проблема на самом деле.
Новый синтаксис - Бог бы с ним (хотя даже про try-with-resources аксакалы по привычке забывают, а это Java 7)
Часто, люди упускают что там нового появилось в стандартном API.
В итоге постоянно вижу например Base64 из внешних библиотек,
не знание о существовании Files.readAllBytes/readString или, скажем, о классе Оbjects.
Вот это вот грустно.
Постоянные проблемы с AspectJ. Хоть AspectJ 1.9.8 и должен поддерживать, до сих пор не смог запустить проект на JDK17.
Да где loom то и наллабилити?
"наллабилити" (как, например, в Kotlin) в Java, похоже, не появится никогда. Обсуждения были, но там виднеются какие-то непреодолимые проблемы с обратной совместимостью. Никаких планов, насколько я знаю, нет.
Всё что есть это реализации на основе идей из JSR 305(dormant since 2012). т.е. аннотации вида @NonNull из внешних библиотек(реализаций есть несколько) ну и Optional.
Loom развивается, но там просто очень сложно. Влиятельные спикеры выражают сомнение даже в том что он войдет даже в следующий LTS (Java 21). Есть early-access build c ним. Попробовать можно. То что уже работает - впечатляет очень сильно.
А чем вас не устраивают аннотации JetBrains?
всем :)
Аннотации сами по себе мало что дают.
Вам в дополнение к ним нужен некий static analysis tools который, на основе аннотаций, на этапе компиляции, будет вам выявлять косяки.
Например, в случае аннотации JetBrains, IDEA играет эту роль.
А я не пользуюсь IDEA. :)
Это совсем не то же самое что поддержка на уровне синтаксиса самого языка и/или стандартной библиотеки и родного компилятора.
Вышла Java 18