microJUG – Telegram
microJUG
982 subscribers
155 photos
1 video
2 files
237 links
Мысли о Java.
Основной канал: @miniJUG
Буст: https://news.1rj.ru/str/microJUG?boost
Чат: https://news.1rj.ru/str/micro_JUG
Таблица JEP'ов: https://minijug.org/jeps.html
Download Telegram
Появился новый черновик JEP для instanceof. Разница со старым – добавили deconstruction patterns:

record Point(int x, int y) {}

if (obj instanceof Point(var a, var b)) {
System.out.println(a+b);
}


Но пока, похоже, это будет работать только для записей. В любом случае, хорошо, что всё по-маленьку движется в сторону полноценного паттерн-матчинга.
Не знаю как вам, а мне идея нравится! Добавить в язык стандартную аннотацию @Language, чтобы можно было указывать тип языка в блоках текста. Представляете, писать какой-нибудь SQL прямо внутри литерала, а там будет автокомплит, подсветка, валидация...
Тут меня справедливо поправили, что всё это в IntelliJ IDEA уже давно есть. И даже есть аннотация @Language. Правда она нестандартная. Но ещё можно использовать комментарий //language=<language_ID>, если не хочется тащить библиотеку ради аннотации.
Тут люди обсуждают, как бы упростить синтаксис if (!(x instanceof String y)), а Тагир просто взял и реализовал это в IDEA безо всяких изменений языка. Удивительно, что до такой простейшей вещи не додумались раньше.
Может, немного поздновато, но на всякий случай информирую, что на YouTube появились видео докладов с Joker 2019.
#joker
Будет ли вам интересно, если я сюда буду кидать ссылки на интересные доклады? Вот, например, доклад Тагира Валеева про трансляцию switch в байт-код. Мне кажется, у него незаслуженно мало просмотров, хотя доклад очень познавательный и полезный.
Стоит ли постить ссылки на доклады?
Final Results
95%
Да
5%
Нет
Похоже, в скором будущем ZGC станет production ready. Появился новый черновик JEP.
Похоже, Nashorn (движок JS) скоро уберут из JDK. Он стал deprecated в Java 11, а теперь его хотят выбросить совсем. Причина очень банальная: никто не изъявил желание его поддерживать.
Таким образом, они хотят убрать единственный движок JS из JDK, и все приложения, использующие JS, перестанут работать. И знаете что? Я даже не удивлюсь, если они реально возьмут и сделают это. Вспомните, например, как просто выкосили Java EE в Java 11. А чем JS лучше?
А вы используете Nashorn или любой другой JavaScript движок в Java (Rhino, Graal.js...)?
Anonymous Poll
14%
Да
86%
Нет
Вчера на конференции SnowOne узнал об очень интересной библиотеке, которая позволяет использовать синтаксис Java 9-14 и компилировать его в Java 8. Библиотека называется Jabel и создана нашим соотечественником Сергеем Егоровым. Поддерживается всё кроме рекордов (их поддержка запланирована на ближайшее будущее). По сути Jabel это агент, который инструментирует пару классов в компиляторе javac и заставляет его "думать", что все фичи выше 9+ относятся к 8-й версии. И всё. Весь код плагина занимает всего около 150 строк! Плагин хорошо работает в Идее. Если ещё включить нужную инспекцию, то можно также обезопасить себя от использования API, которое появилось позже Java 8 (например, StackWalker).
Кому-нибудь нужен JetBrains All Products Pack на 3 месяца? Есть лишний купон, не знаю куда деть. Напишите мне, если кому-то нужно.

Купон ушёл
Новые синтаксические возможности с Java 10 по Java 15 в одной картинке
Чёрт, в новом Телеграме статистика канала доступна только для 1000+ подписчиков. А в miniJUG пока только 717. Ну что ж, значит будем расти.
Когда говорили, что не нужно использовать лишние зависимости без необходимости, но они не послушались.