Привет, Хабр! Мы — Настя и Эвелина — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями.
Приветствуем любую обратную связь! (づ ◕‿◕ )づ
Теперь вы можете поделиться собственными материалами!
Релизы
Собрали последние обновления популярных и полезных библиотек за пару месяцев:
Tinkoff Scala meetup & open source
Рубрика для митапов и релизов библиотек и фреймворков, рожденных в недрах Scala-комьюнити Т-Банка:
JVM Day. Scala — наш соредактор перешел от комментирования контента к его созданию (b ᵔ▽ᵔ)b Если вы пропустили конференцию, то мы строго рекомендуем к просмотру. Наши коллеги и ребята из других компаний сделали действительно крутые доклады!
Статьи
Здесь делимся свежими статьями, репозиториями и исследованиями, которые нам показались интересными. В отдельный блок вынесены ресурсы, где авторы используют Scala 3. Enjoy:
Optimal Scalafmt configuration using Genetic Algorithms — однозначное спасение для ваших пет-проектов.
sudori part 6: sbt query — Йокота продолжает вести нас в светлое будущее и в этой части рассказывает о возможностях работы с подпроектами для разных версий и платформ.
Scala 3 Manifesto 0.1.0 — Юджин Йокота, видимо, как истинный японец, умрет за компьютером на работе. Не прекращая разработку распределенного кеша в SBT, он осчастливил мир новой либой.
Scala without effect systems. The Martin Odersky way — еще не до конца затихли звуки битв «правая палочка твикс vs левая», Pepsi vs Cola, iOS vs Andriod, как добро пожаловать на свежеиспеченное адское поле в комментариях к посту: FP Scala vs Ptython-Java-Like-Scala. Свое мнение редакция особо расписывать не будет, оно созвучно высказанному тут: Не морочьте мне голову со своим функциональным программированием.
3 Scala Libraries to Forget About Boilerplate Code (or Almost Forget) — статья нашего коллеги с полностью релевантным названию содержимым. Действительно стоит взять на вооружение обсуждаемые библиотеки, вы не пожалеете, а команда скажет вам спасибо ଘ(੭ˊ꒳ˋ)੭✧
Inline your boilerplate — harnessing Scala 3 metaprogramming without macros — пишем свои chimney для scala 3 или восхождение к ducktape.
Fun with Types: All Types of Physics Computations — и сказал Дьявол: «Давайте добавим физику в программирование» (ノ°∀°)ノ⌒・:.。. .。.:・゜゚・*☆ Материал непростой, но интересный, будет полезно для саморазвития.
Simple Contract-First Applications with Cask — прочтение этой статьи — первый шаг к contract-first подходу: тут вы найдете информацию, зачем так делать, какие либы и инструменты с их альтернативами можно использовать, а в конце есть простенький пример с разбором действий по порядку.
-
Direct-style concurrent streaming
Настя
Ожидала очередной порции Ох в комбинации с direct style, но все время чтения статьи и разбора приведенного примера ловила вьетнамские флешбеки ZIO и того обмазанного монадами и эффектами кода, что я пишу каждый рабочий день. Я немного сбита с толку этим новым flow. Сначала — чертеж предстоящих преобразований, запуск на исполнение — в конце. А само исполнение в форках и параллельность, скрытая в кишки от пользователя.
Game of Life with Scala.js and Webassembly — если вы все еще не трогали Scala.js, посмотрите, как она выглядит на примере всем знакомой Game of life!
Reasons ZIO is awesome: retries — ода ZIO retry.
tag-based back publishing with sbt — еще даже не Рождество, но для тех из нас, кому нужен tag-based back паблишинг, Юджин Йокота принес небольшой подарочек в виде sbt-ci-release 1.9.0.
А сюда мы спрятали еще несколько интересных статей.
Видео и доклады
Собрали ссылки как на уже известные и популярные, так и на ноунейм-каналы и видео про Scala:
flatmappers — в этом месяце вас ожидает не один, а целых три выпуска флетмапперсов: ребята экспериментируют с форматом выпусков. Настя неравнодушна к маленьким вещам, поэтому больше всего ей понравился выпуск пять минут длиной ☆(>ᴗ•)
What is ZIO? (The Scala programming language “ZIO 2” library)
Functional World | There’re no trees where we’re going-scary-stuff-less metaprogramming in Scala 3
Scala Space Podcast: Compiling Scala at scale with Billy Autrey
Tooling
Кусочек дайджеста, где мы рассказываем о появлении новых и улучшении уже существующих инструментов для разработки:
MacWire — Адам Варски рассказывает об обновлении инструментария библиотеки.
Highlights
В этом блоке не всегда свежие, но зацепившие наш взгляд ресурсы под флагом «очумелые ручки». Авторы творят что-то интересное, необычное, но не обязательно полезное:
proof generator — добавился видос-демка с красивым выводом в виде LaTех формул.
hkd4s: Higher Kinded Data in Scala 3 — сомнительно, но окэй.
Комьюнити-движ
Раздел курьезных и любопытных событий в мире Scala-общества. Мы хотели бы видеть его объемным и живым. Если что-то пропустили или у вас есть предложения — ждем вас в комментариях:
Postmortem of Scala 3.6.0 — как говорится, long story short в прямой цитате из посмортема: “Scala 3.6.0 is a broken release — it should never be used by users of Scala” или еще один пятничный релиз, после которого зарекаются больше никогда не выпускаться в четверг и пятницу — от греха подальше.
Scala: a mature open source project — а теперь без иронии сообщаем вам о том, что Scala считается взрослым и зрелым опенсорс-проектом с выстроенными, четкими и предсказуемыми процессами развития и поставки.
Akka expertise taken even further: Scalac-Lightbend partnership — это была бы вдохновляющая новость, не существуй в нашем пространственно-временном континууме истории про переход akka на коммерческую лицензию.
Open com-lihaoyi issue bounties — актуальный список всех баунти от Lihaoyi.
До встречи через месяц! ♡\( ̄▽ ̄)/♡
Над дайджестом работали @Melkaya_150cm, @EvieLynn. Ваши идеи, предложения, обратную связь с удовольствием ждем в комментариях! <( ̄︶ ̄)>
Предыдущие выпуски:
RodionGork
хорошо было популяризировать Scala лет 10 назад. перед пандемией я писал рекоммендер для Macy's на Spark и там Scala была естественной необходимостью... но уже тогда наблюдалось что интерес к ней как-то притухает и перспективы 3-й скалы довольно непонятные :)
не серчайте, любопытно было узнать внезапно что она ещё в ходу. успехов в вашем нелегком деле
Melkaya_150cm
Не серчаем, наоборот. Спасибо Вам за Ваше мнение и за неравнодушие! Σ>―(〃°ω°〃)♡→
Я скромно считаю, что Scala - это язык узкоспециализированных задач (типичный пример: высоконагруженное, масштабируемое, надежное и отказоустойчивое приложение и банковский сектор). И вообще, не каждому проекту нужно такое решение. Ну, то есть нет смысла покупать домой хлебопечку, если единственная функция, которая нужна - это смешивать ингредиенты. Для этого существуют миксеры)
А по поводу опоздания на 10 лет и угасающего интереса, мне думается, что именно в затухающие времена для языка ему и нужна как раз поддержка ヽ( ⌒o⌒)人(⌒-⌒ )ノ