Поскольку мы прямо сейчас проводим Mobius, этот дайджест написан почти что на бегу, если что-то в нём окажется не так — сообщайте в telegram-чатике.
- Начнём с простого: на этой неделе был преодолён рубеж «до даты выхода Java 9 осталось 100 дней». Сделаем вид, что мы полностью уверены в соблюдении этой даты, и отметим это событие песней (лучше не кликайте).
- Но пока «девятка» неумолимо приближается к нам, далеко не все кричат «ура» и чепчики бросают. На прошедшей неделе появился пост, подробным образом расписывающий, что не так с Jigsaw. Опубликован этот текст в блоге Скотта Старка (Red Hat), но создан совместными усилиями целого ряда людей.
Пересказывать весь не станем, вступление такое: мол, Jigsaw хорош в распиливании JDK, но на реальных приложениях не проверен, навязывает их разработчикам ограничения и делает антипаттерном то, что всегда считалось полезным. Поэтому поддерживать модули захотят далеко не все, экосистема фрагментируется, и мы все умрём.
- А затем появился пост-возражение от другого разработчика Майка Хирна. Как он отмечает, многие авторы исходного текста работают над JBoss Modules и OSGi, по сути, конкурирующими с Jigsaw — а значит, их нельзя считать беспристрастными. И часть их аргументов вроде «Jigsaw не был проверен реальностью» звучат очень спорно, потому что при работе над ним годами собирали фидбэк от самых разных людей с самым разным опытом. И что у конкурентов Jigsaw своих проблем не меньше — а в итоге, хотя проект может и не стать популярным, шансы на успех у него выше, чем у критикующих его.
- Как известно, Стюарт Маркс настолько любит deprecation, что у него даже есть альтер-эго DrDeprecator (любопытно, почему он тогда работает над платформой, молящейся на обратную совместимость). И теперь он написал пост о подробностях избавления от Object.finalize(). Тут вспоминается, что Тагир Валеев спрашивал Маркса о таких перспективах finalize ещё в начале 2016-го:
Hey @DrDeprecator, what about deprecating Object.finalize()? After all, now we have java.lang.ref.Cleaner!
— Tagir Valeev (@tagir_valeev) January 24, 2016
- Тем временем Брайан Гетц публично поразмышлял, каким мог бы стать pattern matching в Java. Хотя в тексте подчёркивается, что это просто размышления без каких-либо конкретных планов и обязательств, его появление все равно вызвало у разработчиков большой интерес. Тот же Тагир, похоже, решил для сравнения уточнить, что с pattern matching в Kotlin:
Gmail, ты пьян! pic.twitter.com/tWy68cy2JB
— Tagir Valeev (@tagir_valeev) April 19, 2017
Поможем Тагиру и другим интересующимся, вспомнив, что Андрей Бреслав говорил по поводу pattern matching на Joker 2016: «На заре проекта пытались сделать, но тогда от этого отказались, а сейчас мы без этого не страдаем, да и люди в целом тоже. Потребность в полноценном pattern matching есть в основном у тех, кто пользовался Haskell или Scala и теперь считает, что это must have».
- Напоследок — дурацкая шутка про Java от автора этого дайджеста:
@vkozulya Смотрю на autoboxing в джаве и подумываю начать записывать обзоры Java-объектов:
— Всем привет, сегодня мы анбоксим Integer!— Евгений Трифонов (@phillennium) April 17, 2017
- Тагир ВалеевРазработчик в JetBrains, занимается статическим анализатором кода IntelliJ IDEA, инспекциями и квик-фиксами. Также он кидает патчики в OpenJDK и разрабатывает опенсорсную библиотеку StreamEx. Известен на Хабрахабре как lany, в твиттере — как @tagir_valeev.
- Андрей БреславВозглавляет разработку языка Kotlin в компании JetBrains. Раньше преподавал в университете и в старшей школе; теперь вместо этого выступает на различных конференциях, рассказывая о своём проекте и о фундаментальных принципах, лежащих в основе профессии разработчика ПО. @abreslav