Scala-дайджест (1 июня – 8 июня)

Scala 2.13

Заморозка коллекций близко!

Работа над коллекциями в 2.13 все еще продолжается, но заморозка на носу — это произойдет 22 июня (сразу после Scala Days New York). Коллекции переделали с нуля, поэтому они пытаются подстелить соломку и оставить побольше времени на исправление багов.

Планируется выпустить еще один майлстоун M5, после чего следующие релизы будут выпускаться как полноценные релиз-кандидаты.

Основными целями остаются доделывание совместимости со старыми коллекциями в смысле основных возможностей, улучшение/сохранение их производительности и скорости компиляции.

JB: The State of Developer Ecosystem 2018

JetBrains провели исследование на тему состояния экосистемы Scala: популярность библиотек, тулов и используемых версий Scala/JDK.

И если по первым двум пунктам нет ничего удивительного, то указанный уровень внедрения Scala 2.13 для 30% аудитории вызывает большие вопросы.

Твит Сабина:

scalac profiling

Вышел невероятно крутой блог-пост от разработчика Bloop, Jorge Vicente Cantero, о новом плагине к компилятору, scalac-profiling.

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

Hydra

Ну а если вы из тех людей, кому неохота разбираться с профилированием копиляции или кому уже ничего не помогает, разработчики мистического параллельного компилятора Hydra, доступного только через Early Access Program, решили напомнить о своем существовании. С ними работает аж сам Мартин Одерски, они уже имеют дело с крутыми компаниями и обещают скоро предоставить больше деталей.

Lightbend и Alpakka

Изначально проект Alpakka создавался как community-driven, с целью объединения различных интеграций по Akka Streams в одном общем месте.

Дело пошло настолько хорошо, что теперь Lightbend решили выделить на это отдельную команду. Кроме политических причин, это имеет и чисто практическую основу: количество работы стало очень большим, и в одиночку сообщество не справляется. Ну и конечно, обладатели подписки Lightbend получат на этот проект поддержку.

Atlas от Netflix OSS

Netflix пополняет копилку серьезных проектов на Scala своей in-memory time-series базой данных Atlas.

Atlas используется в Netflix для сбора и визуализации метрик, мониторинга и оповещений.
В вики есть впечатляющий график с объемом метрик, собираемых Atlas по сравнению с прошлым решением: за 2013 год скачок с менее чем 150 тысяч до 1 миллиарда.

Mill 0.2.x

Mill — это новая система сборки для Scala от Li Haoyi.

Проект еще молодой и быстро развивается, последняя версия — 0.2.3 от 3 июня.

Небольшой ченжлог из рук Николая Татаринова (@rockjam):

  • Улучшена поддержка Intellij IDEA для sbt и Maven-проектов, поддержка $ivy импортов в билд-файлах;
  • Поддержка scalafmt;
  • Добавлена команда для визуализации графа задач;
  • Добавлены merge-правила при сборке fat jar. Теперь можно собрать fat jar для проекта, который использует akka-http, например (раньше это не работало, из-за файла reference.conf).
  • На один шаг ближе к поддержке Play Framework — можно генерировать twirl-шаблоны;
  • Публикация неподписанных артефактов;
  • Команда mill version;
  • Улучшения, позволяющие не перезапускать daemon во многих случаях (и это улучшает время запуска).

Тайпчекер для Ruby от Stripe

Новость не совсем про Скалу, но Дмитрий Петрашко @darkdimus, прежде работавший над Dotty в EPFL, анонсировал тайпчекер для Ruby, который был сделан за полгода вместе с его новой командой в Stripe. Пока доступен только интерактивный playground.

Посты и статьи

Вы нам нужны!

Вы можете радикально улучшить этот Scala-дайджест, если подключитесь к нашей команде написателей дайджестов.

Подготовка новостей занимает много времени и сил, и если вы в курсе событий Scala-мира, ваши знания и опыт могут оказаться весьма полезными для нашего общего дела.

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

Дайджест готовили

  • Редакция JUG.ru Group:
    • Олег Чирухин – контент, верстка, проверка фактов
      (почта для связи: oleg@jugru.org, телеграм: @olegchir);
  •  Эксперты:
    • Вадим Челышов из подкаста Scalalaz
      (почта для связи: qtankle@gmail.com, телеграм: @dos65).