Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями. 

Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Релизы

Собрали последние обновления популярных и полезных библиотек за пару месяцев:

Статьи

Делимся свежими статьями, репозиториями и исследованиями, которые нам показались интересными. А еще обозреваем ресурсы, где авторы используют Scala 3. Enjoy:

Категории типов. Часть 1. Hom-типы — автор сразу предупреждает, что это лишь «скучное введение», а настоящая польза раскроется в следующих частях. Соблюдая четкую учебную структуру, статья представляет собой достойный старт для разработчиков, желающих понять, зачем программисту теория категорий. 

Миша

Готовьтесь к тяжелому и обильному 20-минутному погружению с лирическими отступлениями, которое требует концентрации. Читаем и следим за продолжением вместе с вами

Scala 3: The Evolution of a Macro — rockthejvm продолжает учить нас Scala3. В статье речь пойдет о метапрограммировании, в частности обо всей красоте макросов. Мы откладывали эту объемную статью аж с прошлого месяца, но осилить полностью, до самого донышка, не хватило вдохновения. Возможно, ты, читатель, сможешь прислать нам объемный фидбэк про эту статью в комментариях.

Fundamental Concurrency Problems and Solutions — если вы начинающий Scala-разработчик, то вот вам еще одна азбука для примитивов параллелизма. Лично нам не хватило более сложных примеров из темы concurrency или production-ready-примера с доказательствами производительности.

А сюда мы спрятали еще несколько интересных статей.

Видео и доклады

Собрали ссылки как на уже известные и популярные, так и на локальные каналы и видео про Scala:

Making Capabilities Safe and Convenient — Одерски снова на высоте: Capabilities как универсальный интерфейс к ресурсам выглядели академично, а тут — практичный рецепт для Scala 3. 

Миша

Кажется, «варварский» DI‑контейнер скоро отправят на пенсию. Если вы еще не шарите в контекстных функциях, то посмотрите обязательно

Tagless Final for Humans by Noel Welsh — наконец-то TF без теоретического тумана: Noel Welsh аккуратно срезает нотационный оверхед и показывает, как сохранить выгоды эффектного полиморфизма, не закапывая слушателей и команду в type-магии. Практичность, читаемость, внятные трейд-оффы — то, что нужно людям, а не «категорным» монахам

(╯°□°)╯︵ ┻━┻ → ┬─┬ ノ( ゜-゜ノ)

An Algebra of Thoughts: When Kyo effects meet LLMs by Flavio Brasil — Flavio аккуратно жонглирует Kyo‑эффектами и промпт‑инженерией: превращает вызовы LLM в типобезопасные thought‑токены, а потом складывает их в композиционный семафор — ни IO‑хаоса, ни monad‑stack-боли. Реально ощущается, как context-based programming превращает промпт-безумие в чуть более детерминированный pipeline.

Миша

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

Rúnar Bjarnason on Unison, Scala, Distributed Systems and Delightful Programming — зачем миру еще одна FP‑игрушка и что это за звери? Код становится хэшем → никакого build & ship — просто бросаем функцию в облако, а рантайм сам решает, где она живет. Плюс сочная демонстрация ability‑handlers и того, как Unison разделяет чистую логику и побочки без километра TF‑клея. После часа слушания руки чешутся навайбкодить свой первый cloud‑сервис — настолько delightful programming звучит убедительно! (づ。◕‿‿◕。)づ

Миша

Хотя сразу мысли: смотря сколько fabrics, сколько details. А вообще, нужно ждать, пока tooling подрастет (╯°□°)╯︵ ⌨️

Jonas Bonér on Akka, Distributed Systems, Open-Source Sustainability and the Backbone of Agentic AI — Джонас калибрует «новую этику OSS»: как поддерживать Akka, не превращаясь в корп‑юнит а‑ля Oracle, и параллельно строить акторный каркас для agentic AI. Куча инсайтов про лицензирование, lazy consensus и zero‑copy телепортацию сообщений.

Anatomy of a Scala Game Server — имба от Пьерра подъехала, всегда цепляет что-то про разработку игр, особенно по Scala: настройка agones-кластера, Kyo STM и разбор лайфхаков по zero-copy IO. Особое внимание уделяется многопоточности, так как игра многопользовательская.

Do You Even Handle Effects? — представьте мир, где ZIO и Kyo direct style объединились, нет трансформеров и боли, а компилятор все равно очень сильно вычисляет контекст для выполнения того или иного эффекта. Хотите узнать об этом побольше? Переходите по ссылке ↑_(ΦwΦ)Ψ

Миша

Если бы меня спросили, какую часть Scala я бы хотел использовать каждый день, то я бы сейчас не раздумывая ответил: «YAES-эффекты на контекстных функциях»

[OOPSLA24] Degrees of Separation: A Flexible Type System for Safe Concurrency — рассказчики показывают, как их System CSC внедряет separation degrees в Scala 3 capture checking. При чем тут Rust? Как это все работает под капотом и чем это облегчит нам жизнь? Ответы на все эти вопросы — в видео.

Lachezar Yankov on the Func Prog Podcast Zio, Scala and typed functional programming — Лачезар Янков убежден, что компилятор должен выполнять работу за программиста, действуя как «второй пилот». 

Строго типизированные языки позволяют сосредоточиться на решении задачи, а не на запоминании деталей контекста или написании тестов на базовые проверки, поскольку компилятор гарантирует отсутствие ошибок выполнения и делает «нелегальные состояния» непредставимыми. Для автора будущее программирования тесно связано с типами и инструментами, которые автоматизируют проверки, предотвращая ошибки на этапе компиляции, а не в продакшене. Обо всем подробнее слушаем по ссылке — и все это в рамках контекста ZIO/Scala.

Scala Macros – Diving Deeper Into Macros – Deriving a Transformer Instance — если вас пугают квазиквоты, можете взять это видео как точку старта для того, чтобы разбираться с макросами и деривацией.

Tooling

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

scalajs-gradle — любители gradl-а, возрадуйтесь: теперь можете билдить ваш scalajs-проект с использованием этого билд-тула.

Highlights

В этом блоке не всегда свежие, но зацепившие наш взгляд ресурсы под флагом «очумелые ручки». Авторы творят что-то интересное, необычное, но не обязательно полезное:

jing — генератор из open-API-спеки, который обещает легкость бытия и волшебство макросов в полную силу!

DOM-Aware Web Crawling with Apache Pekko and Playwright — ура, универсальный скраппер на Scala! О нет, Apache Pekko (¬_¬;)

ArrayView — вы часто слышите о том, что Scala используется в науке, но не видите примеров каких-то новых библиотек на эту тему? Не беда, посмотрите на реализацию многомерных тензоров, с которыми вы можете работать как с обычными массивами. Вы даже можете занести ребятам собственные бенчмарки.

flatmark — как докузаурус, только лучше? Возможно. Превратим статические md-шки в полноценный веб-сайт.

log-http-proxy — хотите поиграть в маленького шпиона? Известная атака (MITM) выступает в роли осознанного выбора для трейсинга на стороне путем добавления такой сомнительной прокси.

Комьюнити-движ

Раздел курьезных и любопытных событий в мире Scala-общества. Мы хотели бы видеть его объемным и живым. Если что-то пропустили или у вас есть предложения — ждем вас в комментариях:

Another company stopped using Scala — печальная новость вызвала бурные обсуждения в комментариях. На удивление, на этот раз больше защищают Scala. В этот раз виноватыми у комьюнити стал менеджмент, неграмотно построенные процессы разработки и слабые инженеры. Особый мем — решение компании переехать на Typescript. Да, дешевле, но какой ценой?

Scala Highlights, June 2025 edition — полный хайлайт забавных и приятных новостей: следующая LTS-версия – это Scala 3.9 (планируется в Q2 2026), SIP с better fors в 3.7.0 появится под -review флагом, из лучших домов Лондона и Парижа скалисты поедут на конференцию Scala Days 2025 на именном Scala-поезде. Нетворкинг и тимбилдинг выходят на новый уровень (ノ◕ヮ◕)ノ*:・゚✧ 

Мы находим невероятно забавным тот факт, что из трех заявленных хедлайнеров — спикеров конференции только один имеет непосредственное отношение к Scala. Ну и вишенка на торте: начиная со Scala 3.8 минимальная требуемая JDK — это JDK 17.

До встречи через месяц! ♡\( ̄▽ ̄)/♡

Над дайджестом работали @Melkaya_150cm, @EvieLynn, @haskiindahouse Ваши идеи, предложения, обратную связь с удовольствием ждем в комментариях! <( ̄︶ ̄)>

Предыдущие выпуски

Комментарии (0)