Java-дайджест (3-16 марта)

На прошлой неделе из-за длинных выходных дайджеста не было, так что теперь собрали события за две недели сразу.

  • Для начала — обещанный ответ на загадку, опубликованную в понедельник. Напомним, там надо было понять, какая фраза оказалась записана в субтитрах как «Or we can put anything a realist can only whole object out of types».
     
    В видеоролике эта реплика отвечала на вопрос «а в ArrayList можно что угодно положить?», и на самом деле она звучала так: «Oh, we can’t put anything. ArrayList can only hold object data types».
     
    Конечно, такое сложно воспроизвести дословно, но можно было в странном «a realist» узнать ArrayList. И с этим справился Тагир Валеев. А позже другой читатель догадался и до того, что в первой половине цитаты есть отрицание:

    Чествуем Тагира и Олега! И сочувствуем всем глухим людям, которые попробуют пройти гугловский курс по субтитрам.
     

  • Мы провели JBreak (можете посмотреть фотоальбом), и на Хабре после этого тоже активно обсуждали Java-задачи: те, которые можно было получить на спонсорских стендах конференции.
     
    Сначала СКБ Контур разобрали свою задачу о производительности, где в условии фигурирует List.
     
    Затем тот же Тагир написал пост с тегом «наш ответ чемберлену!», показав следующее: раз конкретная реализация List в условиях от СКБ Контур не указана, то вместо стандартной можно использовать такую, с которой «неправильный ответ» окажется правильным.
     
    Наконец, Excelsior тоже разобрали свои задачи. Как и можно было ожидать от хардкорной компании, делающей «Java с AOT», там встречаются условия вроде «вы отлаживаете нативный код скомпилированного Java-приложения, у вас нет исходников», а под постом есть комментарий «Жестоко». Чтобы вы знали, как выглядят жестокие брутальные сибиряки из Excelsior (помимо Никиты Липского, которого вы давно можете знать по нашим конференциям), прикладываем фото с JBreak:

     

  • Помимо JBreak, мы недавно провели ещё и встречу с Кириллом Толкачёвым и Максимом Гореликовым «Spring Boot Starter: how and why?» — и сейчас уже доступна видеозапись.
     

  • Ранее уже сообщалось о планах Oracle передать Java Mission Control и Java Flight Recorder в OpenJDK, а теперь эти планы становятся конкретнее: появились JEP по Flight Recorder и письмо по Mission Control.
     

  • По будням Роман Елизаров делает корутины в Kotlin, а на праздниках он писал о корутинах в Kotlin. Начал с твиттер-треда о том, как разработчиков печалит прогресс, делающий часть их знаний бесполезными, продолжил постом «Kotlin Coroutines, a deeper look». Если всё это заинтересовало или возникли вопросы — уже совсем скоро на JPoint будет доклад Романа о корутинах, там можно будет и узнать всё подробнее, и задать эти вопросы.
     

  • На StackOverflow подвели итоги ежегодного опроса разработчиков. Его репрезентативность вызывает сомнения: например по сравнению с прошлым годом использование Java резко прыгнуло с 39,7% до 45,3% респондентов, что вряд ли соответствует реальным трендам. Но, наверное, какие-то общие выводы о Java-экосистеме по опросу можно делать. Они получаются такими:

    — Java по-прежнему опережает все языки программирования, кроме JavaScript
    — у троицы Groovy-Scala-Kotlin результаты недалеко ушли друг от друга
    — те, кто используют Kotlin, очень его любят (в списке «most loved languages» он на втором месте после Rust)
     

  • В сегодняшнем «Разборе Полётов» будет известный многим Владислав Козуля, для нашего дайджеста это вообще-то оффтопик (он же фронтендер), но не упомянуть это решительно невозможно.
     

  • Ну и напоследок:

  1. Тагир Валеев
    Разработчик в JetBrains, занимается статическим анализатором кода IntelliJ IDEA, инспекциями и квик-фиксами. Также он кидает патчики в OpenJDK и разрабатывает опенсорсную библиотеку StreamEx. Известен на Хабрахабре как lany, в твиттере — как @tagir_valeev.
  2. Роман Елизаров
    С 2017 года работает в JetBrains в команде Kotlin. Ранее занимался профессиональной разработкой программного обеспечения для биржевой и брокерской деятельности более 10 лет. Как координатор группы проектов в компании «Эксперт-Система» (известной на международном рынке как Devexperts) участвовал в разработке торговой платформы thinkorswim, признанной на рынке США платформой №1 несколько лет подряд уважаемым журналом Barron's. @relizarov
  3. Никита Липский
    Один из инициаторов и руководителей проекта Excelsior JET, сертифицированной реализации Java SE, разрабатываемой компанией Excelsior. Работая над проектом с 1997 года, поучаствовал в исследовании и разработке практически всех компонент продукта от ядра до продуктовых свойств. Также активно принимает участие в технической поддержке продукта. До проекта Excelsior JET, участвовал в разработке объектно-ориентированной базы данных и конструктора графических пользовательских интерфейсов Оберон-2 системы Мифрил (Kronos Research Group), а также объектно-ориентированных библиотек для языка Оберон-2 (XDS ltd.). @pjbooms
  4. Кирилл Толкачёв
    Главный разработчик в Альфа-Лаборатории. Разрабатывает различные банковские API. Формирует принципы и наборы инструментов для работы с микросервисной архитектурой. Большой поклонник Groovy, Gradle, Spring и стека технологий Netflix. Постоянный резидент подкаста «Разбор Полётов». Методологию DevOps знает не понаслышке и имеет почти двухлетний опыт её применения.