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

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

Теперь вы можете поделиться собственными материалами!

Релизы

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

  • Scala 2.13.16 — теперь к пустой строке нельзя писать .tail, надеемся, это не приведет к похожим последствиям;

  • mockingbird 5.0.0 — птичка поддерживает GRPC-стримы;

  • chimney 1.7.0 — долгожданная фича: наконец-то можно выводить ответ из нескольких case classes сразу!!! Возрадуйтесь!!! Σ>―(〃°ω°〃)♡→ А еще добавлены флаги для проверки на этапе компиляции неиспользуемости полей.

    Настя

    Я аж станцевала от таких новостей!

Статьи

  • Phantom types — Make illegal states unrepresentable и Phantom types — Part 2. Кратко про фантомные типы. В примере с паттерн-матчингом можно отойти от чистых фантомных типов и использовать, к примеру, ClassTag у generic-типа в Book.

  • Рекурсивные типы. Серия из пяти частей. Любите разбираться в математике и цените подробные объяснения? Эта серия как раз для вас! Здесь есть всё: академический стиль, математические обоснования и плавный переход от простого к сложному. Хороший способ почувствовать себя экспертом в рекурсивных типах после прочтения (─‿‿─)

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

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

  • Where Are the Scala Frameworks? Functional Scala 2024 talk. Даниэль пытается донести мысль, что в мире Scala часто переизобретают колеса, обилие которых только путает и отталкивает новичков, и призывает к созданию библиотек комплексных, но гибких, со множеством примеров.

  • Haoyi Li — Better Scala Builds With The Mill Build Tool - Functional Scala 2024. Если вы устали от дополнительных телодвижений с SBT, зависимостей от множества плагинов и хотите управлять сборкой проекта через Scala-код, просто попробуйте Mill.

    Миша

    После услышанного мне захотелось попробовать поиграться с Mill

Tooling

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

  • Gems in the Scala Ecosystem. Если вам кажется, что мы бедны в тулинге, перейдите по ссылке и убедитесь, что Scala богата.

  • WebSocket Example. Теперь технологию древних любимые вебсокеты можно реализовывать и на zio-http.

  • Pekko Feat: Enhance Virtual Thread Support. Любителям Pekko и Java 21 завезли улучшение работы с виртуальными потоками.

  • Tyrian-flowbite.g8. Если кто-то из вас юзает tyrian + flowbite + scalaJS, вот вам шаблончик для будущих проектов (っ´ω`)ノ(╥ω╥).

  • Openapi4s-demo — демо нового проекта, генератора кода из openapi-спеки. 

    Миша

    Кто душой на стороне spec-first подхода, как и я? (ノ◕ヮ◕)ノ*:・゚✧

    Настя

    Мое сердце, почки и душа принадлежат code-first-подходу ଲ(ⓛ ω ⓛ)ଲ

Highlights

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

  • Dmtscala. Теперь переписывать сервисы со Scala на любой другой язык стало значительно проще ψ( ` ∇ ´ )ψ. Не знаем, для чего это вам понадобится: чтобы соблюдать корректность контрактов между фронтом и бэкендом или же чтобы уволить всех скалистов и нанять хаскеллистов на переписанный код [̲̅$̲̅(̲̅ ͡° ͜ʖ ͡°̲̅)̲̅$̲̅]

  • Terminus — альтернативный вариант дать ребенку поиграться для обучения взаимодействию с I/O.

  • About FastScala — еще один фреймфорк для веб-разработки на Scala.

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

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

  • #Rust vs #Scala: Facts and Hype. Ради таких дискуссий и создавался в свое время этот раздел в нашем дайджесте. Горячий холивар на тему двух языков перерос в обсуждение различных подходов к управлению памятью, и на это полыхающее пламя прискакал рыцарь Джон де Гуз. 

    Миша

    Я вот представляю Scala без GC, и сразу на ум приходят строки: „И в разговоре каждой ночи сама душа не разберет, мое ль безумие бормочет, твоя ли музыка растет…“

  • Rant on Scala3 tooling (IntelliJ/metals), wish I started new project in Scala2 — очередной раунд холевара Scala3 vs Scala2. Скандалы, интриги и у кого какая ЗП — все это ждет вас по ссылке в комментариях __〆( ̄ー ̄ ) P. S. Обратите внимание на ники, возможно, увидите знакомые лица.

  • Relegate Scala 2.12 support to a branch? Если кто-то еще сидит на 2.12.x, вот вам волшебный пендель дружеское напоминание обновиться до 2.13.x.

  • Functional Programming in Scala. Если вы скучаете по школьным временам, где вас за ручку проводят по материалу урока, проверяют домашние задания и клеят наклейки-звездочки, вам понравится UI курса! Материал базовый, поэтому подойдет разработчикам, только знакомящимся со Scala.

    Эвелина

    Напомнило Stepik )٩(◕‿◕。)۶

  • Online Courses (MOOCs) from The Scala Center. Если вы пропустили, в scala-doc существует страница с рекомендуемыми курсами. Полагаем, что теперь новичкам легче искать материалы по типу «с чего начать обучение».

  • Recap of Advent of Code 2024. Поставьте себе уведомления о том, что в этом году нужно обязательно продержаться 25 дней до самого конца Advent of Code, чтобы торжественно быть упомянутым на главном ресурсе по Scala.

  • My post mortem for the codingame Winter Challenge 2024. Оказывается, помимо Advent of Code зимой можно размять мозги еще и на таком событии, как Codingame: Winter Challenge.

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

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

Выпуски за 2024 год:

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


  1. PB_Academy
    03.02.2025 15:33

    В РФ Scala умирает(исходя из вакансий). Его как бэкенд язык меньше рассматривают. Единственное, где сейчас он актуален - Apache Spark в Data Engineering.


    1. GospodinKolhoznik
      03.02.2025 15:33

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