Scala Digest. Выпуск 43

от автора

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

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

Статьи

Собираем свежие статьи, репозитории и исследования, которые показались нам интересными. В этот раз припасли целый ворох статей Хабра на русском языке. Радуемся такому изобилию╰(▔∀▔)╯

Что делать, если HTTP-запрос прошел, а транзакция в БД откатилась? Перевод добротного лонгрида про dual-write-проблему: Transactional Outbox, Result Table и сага-компенсации, причем не на пальцах, а на Scala 3, Play, Slick и Pekko (фе) с рабочим репозиторием — симулятором сбоев. Отдельный сорт удовольствия — откаты саги, описанные не кодом, а JSONPath-шаблонами в HOCON-конфиге. Гениально это или страшновато, решайте сами

Миша

Читается как детектив: каждый следующий паттерн закрывает дыру предыдущего, но в финале с eventual consistency все равно придется просто жить. Рекомендую читать в оригинал

Категории типов. Часть 8.1. Вертикальная композиция эффектов. Сериал добрался до главного вопроса: почему F[G[A]] — это боль? Контрпример с некомпозируемым Writer∘List, дистрибутивные законы и монадные трансформеры — все это ждет вас в 8-й части статей про «Категории типов».

Миша

Смешариков в этот раз не завезли \(〇_o)/ | Традиционно надеемся на сеньоров-математиков с TLDR в комментариях

Объяснение direct-style-эффектов. Наш добрый знакомый автор Underskyer1, который ведет «Категории типов», перевел Noel Welsh: что такое алгебраические эффекты и почему direct-style — следующая остановка после монадических систем. От контекстных функций Scala 3 до ограниченных продолжений и capture checking, 21 сниппет. Две статьи про композицию эффектов от одного автора за месяц — хотя бы у него эффекты композируются.

Democratizing Build Scalability: Eugene Yokota on Bringing Bazel Features to sbt 2.0. Интервью с Юкотой о том, как фичи Bazel — удаленное кеширование и масштабируемость сборки — переезжают в sbt 2.0. После месяца, в котором sbt успел собрать два секьюрити-патча (подробности в релизах), читать про светлое будущее особенно уютно.

Настя

Yokota — один из моих любимых творцов. Рада была почитать интервью с ним

Предчувствуем: скоро нам понадобится вводить отдельную рубрику под ИИ-чудачества.

Coaxing quality output from generative AI. Bill Venners в официальном блоге рассказывает, как GenAI причесывали Scaladoc стандартной библиотеки: LLM-as-judge, раздельные контексты писателя, ревьюера и рефайнера, мелкие PR, чтобы человек успевал смотреть. Вайбкодинг официально легализован на самом верху.

Настя

Работа руками ИИ превращается в такой стандарт или базовый минимум, что уже даже не смешно и почти не страшно

Braceful, braceless, or the common style? Война табов и пробелов, Scala 3 edition, вышла на новый виток: Регнелл измеряет, не «где красивее», а во сколько каждый стиль обходится кодинг-агенту при правках (отправной точкой стал реальный баг агента). Эмпирика к 81-постовому мегатреду о едином стиле — теперь холиварить можно с цифрами.

Настя

А судьи кто? Теперь к древнему холивару о скобках подключают ИИ. Хотя, откровенно говоря, меня впечатлил уровень экспериментального подхода автора к проверке гипотез

Harness Engineering — Part 1: Every Agent Starts with a Loop (+ еще 4 части серии). Серия о том, как собрать LLM-агентный харнесс на Scala 3 с нуля: цикл агента, tool calls, автономность, слои памяти и type-driven-фронтенд. Все на открытом учебном харнессе tark.

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

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

Venkat Subramaniam on System Design, a Rich Career, and Responsibility in the Age of AI. Интервью на злободневные темы современного senior-скалиста. Слушается как беседа двух людей, которым уже не нужно никому ничего доказывать. Мы впитали под вечерний чай ( ˘▽˘)っ♨

Encoding Effects as Capabilities — Nicolas Rinaudo. Свежая запись с BOBKonf: как кодировать эффекты через capabilities вместо монадических оберток. В 38-м выпуске мы ванговали, что в 2026 Capabilities будут натягивать на все подряд, — приятно, когда предикшены сбываются доклад за докладом.

IntelliJ IDEA x Scala: Profiling. JetBrains продолжают сериал про Scala в IDEA: в июле вышли эпизоды про профилирование и code coverage. Если пропустили начало — сериал стартовал с обзора тестового тулинга, мы показывали его в прошлом выпуске.

Scala vs. Rust: Choosing the Best Language for High-Performance Development. Популярный дев-ютубер без единой строчки кода или инфографики рассуждает, когда для высоконагруженных задач брать Scala, а когда — Rust. Аргументы местами спорные, но, с другой стороны, формат сильно напоминает разговор в курилке.

Tooling

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

Scala 3.9.0 release thread. Scala 3.9.0 на финишной прямой к званию новой LTS, а в релиз-треде жаркий спор о цене переезда: «Extinction event каждые полтора года» против «Старые библиотеки не ломаются». Chimney тем временем закрыл линию 1.x и ждет 3.9.0 для двухи. Запасаемся попкорном и совместимостью.

IntelliJ Scala Plugin 2026.2 Is Out! Команда из пяти землекопов не сбавляет: BSP-проекты в WSL и Docker, command completion, поддержка interleaved parameter clauses и dependent parameter types. Наблюдаем, как плагин уверенно догоняет компилятор.

Introducing Deder Build Tool. Yet another build tool. Теперь каждый может написать свой билд-тул, описанный в блоге, — config based. Автор за пару месяцев навайбил и вытащил в open source. Под микроскопом мы не смотрели, но настоятельно рекомендуем сломать в голове барьер, где только единицы могут тащить сложные технические проекты и наконец-таки попробовать сделать для себя удобную библиотечку. Кто знает, может быть, она попадет в обзор в следующем месяце.

chimp 0.4.0. SoftwareMill выкатили библиотеку для типобезопасных MCP-серверов и клиентов на Scala. Если вы, как и мы, уже прикручиваете агентов ко всему живому, теперь есть чем принимать их звонки без бойлерплейта.

Highlights

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

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

Scalapptainer. Автор DFiant HDL принес в Scala-мир rootless-контейнеры Apptainer: один и тот же код поднимает иммутабельное окружение на Linux, Windows (WSL2) и macOS (Lima), сам ставит Apptainer и даже пробрасывает X11. В демках — ASCII-корова и глаза xeyes, следящие за курсором на всех трех ОС. Отдельно доставляет состав контрибьюторов: людей там меньше, чем ботов, и да, клодик тоже наследил.

dbos4s. Durable execution как у Temporal, только поверх голого Postgres: тонкие Scala-биндинги к DBOS, где workflow реплеится после падения, шаги выполняются exactly-once, а recv умеет «ждать одобрения человека 7 дней»…

FArray. Эксперимент oyvindberg: unboxed-последовательность для Scala 3, где FArray[Int] — это реально int[] без боксинга, а макрос .fuse схлопывает цепочку map/filter/fold в один проход. Цель — обогнать List, Vector и Chunk разом. В треде уже отметился fwbrasil со сравнением с kyo Span — быстрые ребята чуют друг друга.

tapir-cloudflare-worker. Tapir-эндпоинты, задеплоенные в Cloudflare Workers через Scala.js и cats-effect. Автор — тот самый windymelt, чей пост поджег главный тред месяца (см. Комьюнити-движ): пока комьюнити выясняет, почему люди уходят из Scala, человек молча деплоит ее в serverless ᕕ( ᐛ )ᕗ

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

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

Why People Are Leaving Scala. Главный тред месяца, 94 комментария: windymelt пишет, что люди уходят не из-за языка, а потому, что команде разработки неинтересна индустрия. Топовый коммент Кубушока: «It all boils down to money». А через четыре дня комьюнити качнуло обратно — тред Some love for Scala с признанием в любви от дата-инфлюенсера. Качели как они есть: утром хороним, вечером признаемся в любви.

moo4s. Cow implementation in Scala. Это вся аннотация. Му.

Настя

Когда вся индустрия сойдет с ума, об этом никто не скажет. Но признаки будут, признаки будут..

Martin Odersky’s free Coursera courses have been paywalled. Coursera втихую убрала бесплатный audit-режим у легендарных ФП-курсов Одерски: теперь 50$ в месяц. Scala Center «в курсе и разбирается» — следим за issue. А пока разбираются, Регнелл выложил лундский вводный курс на английском и бесплатно — баланс в природе восстановлен.

Kyo — how is it being developed so fast? Тред «Как Kyo умудряется разрабатываться так быстро?» получил лучший ответ месяца: «It’s Claude». А fwbrasil взял и подтвердил: Kyo — фундамент его сайд-AI-стартапа, темп «сохранится или ускорится». RC5 с модулями kyo-ai уже лежит в Релизах.

Миша

Живем во времена, когда It’s Claude — не шутка из комментов, а раскрытие тайны от мейнтейнера

Proposal: a working group for operator-side Scala security. Предложение собрать рабочую группу по операторской безопасности Scala-инфраструктуры. Логичное продолжение security-аудита из прошлого выпуска: у сюжета появилась арка.

Настя

Мой внутренний тревожник проснулся и задается вопросами: А чего так сильно и интенсивно увеличилась активность в вопросах безопасности языка Scala и его экосистемы? Что такое задумалось или грядет?

Just discovered agent skills. Sanssushi написал скиллы для агентов, чтобы локальная LLM перестала спотыкаться на weaver-тестах, и в комментах немедленно начали делиться своими скилл-репозиториями. Кажется, у скалистов завелся новый вид пет-проектов Ψ( `∀)(∀´ )Ψ

Миша

Издавна скалисты любят свои зоопарки, а теперь у каждого свои скиллы для AI

Релизы

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

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

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

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

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

ссылка на оригинал статьи https://habr.com/ru/articles/1065928/