Хабрахабр

Когда Java наконец помрёт, что с этим делать и что будет с JPoint

Один из важнейших вопросов интернета — «Когда же наконец джава помрёт?»

Очевидно, если Java вдруг начнёт тонуть, нужно побыстрей сбежать с тонущего корабля. Почему это важно нам как Java-разработчикам? Давайте посмотрим, что там творится.
А если наоборот, начнёт всплывать — переобуться на ходу и грести с удвоенной силой.

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

Вспомним последнюю историю с «Яндекс.Радаром», когда Mail. Может ли автор JUG-а писать о таких рейтингах? Вроде как, когда сам являешься игроком на рынке, некорректно вести документы, подразумевающие максимальную объективность. Ru назвала «абсурдным» рейтинг сайтов от «Яндекса» и потребовала удалить из него свои бренды.

Если у рекламщика есть какой-то топ, в него нужно срочно впихнуть свой продукт — неважно, честно он там оказался или нет. У людей есть некое подсознательное понимание, что скорее всего, суть таких действий — информационно-паразитическая.

Нет смысла в отсебятине. Парадокс с Java в том, что всех, похоже, устраивает текущее положение вещей и её позиция. Спор о выборе мажорной технологии вроде Java против C#, C++, JavaScript или Python среди серьезных разработчиков может происходить разве что в шутку, ибо у каждой технологии выработалась своя ниша и свой собственный путь, победить в котором с помощью другой технологии — задача титаническая.

Забавно наблюдать, как идёт Java по своему Пути. Большинство из нас — простые разработчики, и, не имея доступа ко внутренней кухне проектов вроде JDK, мы можем наблюдать прогресс как цепочки новых версий платформы, фреймворков и фичей в них по ежедневной ленте на Хабре, по программе конференций и так далее.

Не знаю, как посмотреть это проще, поэтому взял строку https://habr.com/hub/java/pageN/ и стал увеличивать N. Взглянем на нашу персональную машину времени — историю хаба Java.

Java 9 вышла в июле того же года, но люди всё ещё рубились за использование Восьмёрки: эта статья оказалась самой заплюсованной статьёй прошлой осенью (+71, если точнее). Где-то на N=60 был сентябрь прошлого года, и lany писал про стримы. Как часто используете .parallel()? Прониклись ли вы сутью стримов за этот год? 🙂

Зачастую крутые посты оканчивают жизнь в закладках, так как требуют вдумчивого чтения. Для сравнения, в том же сентябре Rust вскарабкался на очередной локальный максимум хайпа, и вышла отличная статья «Concurrency паттерны в Rust из Java», которая собрала бы куда больше, чем +33, если бы читатели действительно понимали суть написанного. Она интересна ещё и тем, что ссылается на «Близкие контакты JMM-ной степени» — сумму целой эпохи докладов про JVM concurrency.

Серьезно, что это за чушь? На N=115 я внезапно обнаружил свою статью про «Крипту» 2016 года и сейчас не понял в ней ни одного слова. Что характерно, эта объективно чудовищно плохо написанная статья за годы существования сгенерила десятки панических комментариев в личку.

Уже тогда начали писать о JEP-286 — том самом ключевом слове var, которое мы получили в этом году и которое не все ещё попробовали. За 2016 год была куча статей именно о синтаксисе языка и всяких полезностях вроде RxJava.

Видите, теперь можно писать var внутри параметров стрима — мелочь, а приятно: Сейчас мы можем взять две фичи, разделённые пропастью версий между Java 8 и Java 10 и скомбинировать вместе с помощью JEP-323, появившегося в Java 11 всего пару месяцев назад.

var result = jShell.variables() .filter((@Nullable var v) -> //var+lambda: Java 11 v.name().equals("result")) .findAny() .get();

Взглянем вперёд на конференции, которые отмечают глобальный поток событий. Этой весной на FOSDEM 2018 Марк Рейнхолд впервые анонсировал частые релизы и бесплатные открытые версии JFR, JMC и AppCDS:

Я тоже там был и вместе с ARG89 старался завербовать Марка:

Вроде бы очень устал и хочется поспать, но впереди слишком много всего. Если честно, для меня эти полгода от прошлого FOSDEM прошли как один длинный-длинный день.

Меньше месяца назад на Oracle Code One был новый большой кейноут, «The Future of Java Is Today».

Хотя бы за чудесный момент, когда Марк кодит на Emacs демки для Valhalla. Очень рекомендую посмотреть это видео, даже несмотря на длину в полтора часа. По крайней мере, если у тебя главный джава-кейноут в мире. Если кто-то спросит, можно ли программировать на чём-то кроме IntelliJ IDEA… похоже, иногда можно.

Вкратце, что там было:

  • Вступление от Georges Saab (vice president of Software Development for the Java Platform Group);
  • Matthew McCullough (VP of Field Services at GitHub) рассказал о том, как Java будет перебираться на GitHub с помощью проекта Skara;
  • Saab вернулся на сцену и доверительно сообщил, что Java будет придерживаться своих ценностей: открытости, свободности, качества, секьюрити и так далее;
  • Дальше вышел Марк и начал жечь на разные темы.

Некоторые из тем:

  • Система модулей (JEP 261) и как она прижилась в реальном мире;
  • Новая модель релизов JDK и их поддержки;
  • Java 12 и её JEP: Switch expressions, Raw string literals, One AArch64 Port, Not Two, Default CDS Archives.
  • Основные проекты OpenJDK: Amber, Panama, Valhalla и Loom. Как раз там был лайвкодинг на емаксе и Java 12. Если с первыми тремя и раньше было всё понятно, то теперь и судьба Loom начинает выглядеть очень хорошо.

Посмотрим, какие темы интересуют российское Java-сообщество сегодня.

Во многом они ничем не уступают большим международным событиям вроде оракловских конференций. На протяжении многих лет JUG.ru Group делает Java-конференции, и мы кое-что понимаем в этом вопросе. На последнем Джокере были совершенно мозговыносящие вещи, например, на доклад Паньгина собралось, кажется, больше тысячи человек одновременно.

История Java-конференций в России — это история следования мировым трендам, история вклада в Java-сообщество. Как это получается? Это и отражение действительности, и сама по себе веха в глобальной картине всего. Фокус в том, что программа каждой действительно хорошей конференции должна учитывать всё, что было, есть и будет в Java-мире в самое ближайшее время.

Это крупнейшая конференция, которая станет зеркалом событий российского и международного Java-сообщества. Наступает новый год, и настало время объявить, что мы делаем новый JPoint, который пройдёт 5-6 апреля 2019 года.

Мобильной версии пока нет, она появится на следующей неделе. Ссылка на сайт ведёт на десктопную версию.

Пока что разработка JPoint находится на самой ранней стадии, и мы хотели бы поделиться, какие темы кажутся наиболее популярными.

Короткий список таков:

  • JVM/JDK/VM Runtime;
  • Reactive programming;
  • Всевозможные фреймворки;
  • Java 11. Переходить или нет, или если да — то как. А может, уже на Java 12? 🙂

Полный список тем, про которые можно было бы поговорить — огромен. За несколько минут можно сгенерить бесчисленное количество идей. Но вот этот укороченный список даёт понимание того, что реально полезно на пороге 2019 года.

Всё остальное зависит от текущей конъюнктуры, положения вещей и событий в Java-мире. По сути, темы, касающиеся low level и перформанса, ждут всегда — кто по чисто рабочим причинам, кто из-за любопытства.

Если когда-то все хотя бы краем уха слышали про функциональщину, теперь настоящий бум на реактивщину — такой, какой функциональщине и не снился. Например, огромный успех развил Project Reactor и другие проекты в этом направлении. Венкат Субраманиам, один из самых известных джава-спикеров и наш докладчик, недавно давал интервью ровно на эту тему:

Потому что для меня реактивное программирование — это функциональное программирование++» «Когда меня спрашивают, принадлежит ли будущее функциональному программированию, я отвечаю — нет, оно принадлежит реактивному программированию.

Отличный способ как-то повлиять на состав программы — оставлять нам обратную связь, в том числе — писать комментарии на Хабре. Мы прислушиваемся не только к мнению Венката, но и ко всем, кому есть чего рассказать.

Но есть способ лучше, чем просто писать комментарии.

Даже лучше, построить это будущее. «Люди часто просят меня рассказать о будущем, в то время как всё, что я хочу — изменить его. Ты смотришь на людей вокруг, на улицу, по которой идёшь, вдыхаешь воздуха поглубже — и предсказываешь, что в будущем будет всё то же самое, но куда больше. Предсказывать очень просто, в конце-то концов. Я хочу «лучше»». К чёрту «больше». — Рэй Брэдбери

Самый простой способ изменить что-то в Java-мире — это взять и самостоятельно его улучшить.

Помните форму обратной связи, которая заполняется после конференции? В плане конференций, можно прийти на новый JPoint с собственным докладом. В ответ на вопрос «кого позвать делать доклад в следующий раз?» многие отвечают «меня».

Да, в списке спикеров много известных личностей, но попасть туда вполне возможно. Программные комитеты читают совершенно все заявки и внимательно их рассматривают. Придётся, конечно, здорово поработать и над содержанием, и над подачей, но вам будут помогать люди, которые в этом хорошо разбираются.

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

ССЫЛКА. Чтобы начать своё путешествие как спикер, нужно перейти по ссылке, всё там внимательно прочитать и сделать как написано.

Если вы попробуете рассказать об использовании апплетов и портлетов в легаси-системах, это может показаться странным. Возвращаясь к теме этого хабрапоста, тема должна быть актуальна, соответствовать сегодняшнему дню и течению времени. Что интересней — портлеты или реактивщина? Да, такие доклады регулярно подаются. Напишите в комментариях! О чём бы вы хотели услышать?

Мы стоим на пороге большого будущего.

На пороге большого скачка в Java-технологиях, который основывается на успехах массово используемых проектов вроде Spring, быстром выпуске новых версий JDK, развитии рантаймов (в том числе совершенно особых, вроде GraalVM или Excelsior JET), важных течений в них (Valhalla, Panama, Loom), распространении на новых аппаратных платформах (привет, Bellsoft) и многом другом.

И мы приложили к этому руку! Хорошая новость в том, что, похоже, Java живее всех живых.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть