Перейти к основному содержимому

5.18. Первая программа

Разработчику Архитектору Инженеру

Первая программа

Подготовка окружения

Для работы с Scala требуется установка нескольких компонентов. Основной из них — Java Development Kit (JDK), поскольку Scala компилируется в байт-код JVM. Без JDK невозможно выполнить ни одну программу на Scala.

Установка JDK

  1. Откройте официальный сайт Adoptium или Oracle JDK.
  2. Выберите версию JDK 17 или новее. Scala хорошо совместима с современными LTS-версиями Java.
  3. Скачайте установочный файл, соответствующий вашей операционной системе: Windows, macOS или Linux.
  4. Запустите установку и следуйте инструкциям мастера.
  5. После завершения установки проверьте наличие JDK в системе. Откройте терминал (командную строку) и введите:
java -version

Если команда возвращает информацию о версии Java, например:

openjdk version "17.0.12" 2024-07-16
OpenJDK Runtime Environment Temurin-17.0.12+7 (build 17.0.12+7)
OpenJDK 64-Bit Server VM Temurin-17.0.12+7 (build 17.0.12+7, mixed mode)

это означает, что JDK установлен корректно.

Установка Scala

Существует несколько способов установить Scala. Наиболее универсальный и рекомендуемый — через сборщик проектов, такой как sbt (Simple Build Tool). Он автоматически управляет зависимостями, версиями Scala и процессом компиляции.

Установка sbt
  • Windows:
    Перейдите на страницу https://www.scala-sbt.org/download.html, скачайте MSI-установщик и запустите его. Установщик добавит sbt в системный PATH.

  • macOS:
    Если у вас установлен Homebrew, выполните в терминале:

    brew install sbt
  • Linux (Debian/Ubuntu):
    Выполните последовательно:

    echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | sudo tee /etc/apt/sources.list.d/sbt.list
    echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | sudo tee /etc/apt/sources.list.d/sbt_old.list
    curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | sudo apt-key add
    sudo apt update
    sudo apt install sbt

После установки проверьте версию sbt:

sbt --version

Если команда возвращает номер версии, например 1.9.7, значит, sbt установлен успешно.


Выбор интегрированной среды разработки (IDE)

Для написания программ на Scala подходит несколько современных IDE. Наиболее популярные — IntelliJ IDEA и Visual Studio Code с расширением Metals.

IntelliJ IDEA

IntelliJ IDEA от JetBrains предлагает отличную поддержку Scala через плагин Scala Plugin.

  1. Скачайте IntelliJ IDEA Community Edition с официального сайта.
  2. Установите программу, следуя стандартным шагам.
  3. При первом запуске перейдите в File → Settings → Plugins (на macOS: IntelliJ IDEA → Preferences → Plugins).
  4. Найдите плагин Scala и установите его.
  5. Перезапустите IDE.

Теперь IntelliJ IDEA готова к работе с проектами на Scala.

Visual Studio Code + Metals

Если вы предпочитаете легковесную среду, используйте VS Code с сервером языка Metals.

  1. Установите Visual Studio Code.
  2. Откройте расширения (Ctrl+Shift+X или Cmd+Shift+X).
  3. Найдите и установите расширение Scala (Metals).
  4. После установки Metals автоматически загрузит необходимые компоненты при открытии первого Scala-проекта.

Обе среды поддерживают автодополнение, навигацию по коду, рефакторинг и отладку.


Создание первого проекта

Проект на Scala лучше всего начинать с использования sbt, так как он обеспечивает стандартную структуру каталогов и управление зависимостями.

Шаг 1: Создание директории проекта

Откройте терминал и создайте новую папку:

mkdir hello-scala
cd hello-scala

Шаг 2: Настройка структуры проекта

Создайте следующие подкаталоги:

mkdir -p src/main/scala

Эта структура соответствует соглашению sbt: исходный код размещается в src/main/scala.

Шаг 3: Создание файла сборки

В корне проекта создайте файл build.sbt:

touch build.sbt

Откройте его в любом текстовом редакторе и добавьте следующее содержимое:

name := "HelloScala"
version := "0.1"
scalaVersion := "3.5.0"

Здесь:

  • name — имя проекта,
  • version — версия,
  • scalaVersion — версия языка Scala. Рекомендуется использовать последнюю стабильную версию Scala 3 (Dotty).

Шаг 4: Написание первой программы

Создайте файл Main.scala внутри src/main/scala:

touch src/main/scala/Main.scala

Откройте его и введите следующий код:

@main def hello(): Unit =
println("Hello, World!")

Этот код определяет точку входа программы. В Scala 3 ключевое слово @main автоматически создаёт метод main, который вызывается при запуске. Функция hello не принимает аргументов и возвращает тип Unit, что эквивалентно void в других языках. Вызов println выводит строку в консоль.

Альтернативный синтаксис (совместимый с Scala 2 и 3):

object Main:
def main(args: Array[String]): Unit =
println("Hello, World!")

Оба варианта корректны. Первый короче и современнее, второй — более традиционный.


Запуск программы

Теперь программа готова к запуску. Вернитесь в корень проекта (hello-scala) и выполните команду:

sbt run

sbt автоматически:

  • загрузит компилятор Scala нужной версии,
  • скомпилирует исходный код,
  • найдёт точку входа (@main или object Main с методом main),
  • запустит программу.

В терминале появится:

Hello, World!

Если в проекте несколько точек входа, sbt предложит выбрать одну из них по номеру.


Дополнительные возможности

После успешного запуска можно экспериментировать с кодом. Например, измените сообщение:

@main def hello(): Unit =
println("Привет, Вселенная IT!")

Сохраните файл и снова выполните sbt run. Изменения применятся автоматически.

Для более сложных проектов sbt поддерживает:

  • управление внешними библиотеками через libraryDependencies,
  • многомодульную структуру,
  • тестирование с помощью фреймворков, таких как ScalaTest или MUnit.