О разделе
Длинные листинги (от ~15 строк) вынесены в каталог code.spirzen.ru и подгружаются в статьях через ExternalCodeEmbed — так HTML энциклопедии не раздувается, а код остаётся с подсветкой, вкладками и сериями "шаг 1…N". Короткие фрагменты (одна строка, пара выражений) по-прежнему прямо в markdown. Диаграммы mermaid и интерактив — на месте или в play.spirzen.ru.
Scala — мультипарадигмальный язык (функциональный, объектно-ориентированный, императивный), созданный в EPFL под руководством Мартина Одерски для компонентного ПО: краткий, типобезопасный синтаксис и единые концепции абстракции для модулей любого масштаба. Целевые платформы — JVM, JavaScript (Scala.js) и нативный код (Scala Native); расширения исходников — .scala и .sc.
Материалы раздела ориентированы на Scala 3 на JVM. Если вы приходите из Java, начните с истории и контекста, затем основ языка и первой программы; дальше — типы и pattern matching, Play Framework, Akka, Apache Spark. BEAM-стек для сравнения — Phoenix на Elixir. Архитектура JVM-приложений — когда синтаксис уже понятен.
Полезные внешние источники: документация Scala, обзор на Википедии, курс Functional Programming Principles in Scala (Мартин Одерски).
Сначала: Что такое код и как он работает — общая база — код, блок кода, компиляция и интерпретация, исходный, байт- и машинный код; в этом разделе — синтаксис и особенности языка.
Зачем этот раздел
Подборка по Scala в энциклопедии: синтаксис, первая программа и смежные темы. Выберите один язык для старта, пройдите маршрут до первой рабочей программы — затем переходите к следующему языку или стеку.
С чего начать
| Шаг | Материал | Зачем |
|---|---|---|
| 1 | Первая программа | Запуск и синтаксис |
Частые ошибки при старте
| Ошибка | Что делать |
|---|---|
| Прыжки между языками | Закройте одну "первую программу", потом сравнивайте |
| Код без запуска | Выполните пример локально |
| Сразу большой фреймворк | Сначала база раздела, потом REST/UI |
Что попробовать
- Шаг 1 из таблицы.
- Три непонятных термина — найдите статьи в оглавлении раздела.
- Другой язык — только после своей рабочей первой программы.
История языка Scala
История Scala - развитие языка, роль сообщества Typelevel и эволюция функционального направления на JVM.
Простые приложения на Scala
Простые приложения на Scala — JVM-утилиты, файлы, JSON и минимальный HTTP.
Основы языка Scala
Основы Scala - синтаксис, выражения, типы и базовые принципы программирования на JVM-платформе.
Play Framework — первая программа
Play Framework на Scala — установка sbt, создание проекта, маршруты, контроллер и первый HTTP-ответ.
12
---
Apache Spark на Scala — обзор
Apache Spark и Scala — RDD, DataFrame, SparkSession, batch-ETL и связь с big data в энциклопедии.
Архитектура JVM-приложений на Scala
Архитектура JVM-приложений на Scala - акторная модель, параллелизм и построение отказоустойчивых сервисов.
Типы данных и паттерн-матчинг
Типизация, набор правил определения типа данных значений языка.
Управляющие конструкции и операторы Scala
Управляющие конструкции и операторы Scala - выражения вместо инструкций и функциональный стиль управления логикой.
Функции и функциональные конструкции
Функции и функциональные конструкции в Scala - выражения высшего порядка, композиция и лаконичный стиль.
Первая программа на Scala
Гайд по установке и настройке с написанием первой программы и её запуском.
Scala — итоги
Краткие итоги раздела "Scala".
Scala — о разделе
Материалы раздела ориентированы на Scala 3 на JVM.
В подборках
Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:
Бэкенд и серверная разработка — Haskell — о разделе, Elixir — о разделе, Си — о разделе, Zig — о разделе, Ассемблер — о разделе, Nim — о разделе.