Scala - это сжатый язык высокого уровня, ориентированный на объединение функционального и объектно-ориентированного программирования вместе с сильной системой статических типов, чтобы помочь избежать ошибок в сложных приложениях. Эти проектные решения были созданы как способ помочь решить проблемы и критику Java, при этом все еще использовались JVM и стеки Java. Эта статья написана, чтобы помочь вам установить Scala как в Linux, так и в Windows, и показывает, как написать свою первую простую программу.

Установка

На всех платформах требуется установить Java 8 JDK или выше. Здесь расположены бинарные файлы для всех систем. В Linux рекомендуется установить JDK с помощью диспетчера пакетов вашего дистрибутива (apt, yum).

Windows:
В командной строке введите java -version, чтобы убедиться, что найдена требуемая версия.

C:\Users\CoLap>java -version

Когда у вас будет соответствующая версия Java, перейдите на сайт Scala Download. Здесь вы найдете 2 популярных способа установки Scala, а также другие способы установки. Здесь будет рассказано об установке и Scala Build Tool.

Intellij IDE:
Перейдите на страницу загрузки Jetbrains и выберите версию IDE для загрузки. После выбора загрузка начнется немедленно. После завершения загрузки вы можете найти исполняемый файл установки в папке Загрузки.

Запустите исполняемый файл. Вам будет показано предупреждение системы безопасности Windows, выберите «запустить». Затем выберите «да», чтобы разрешить исполняемому файлу вносить изменения. Затем появится настройка Intellij.

Нажмите «Далее», затем выберите путь для установки Intellij (рекомендуется путь по умолчанию) и нажмите «Далее». Затем выберите любую из дополнительных функций, которые вы хотите, и или нажмите «Далее». Наконец, выберите папку меню «Пуск», содержащую ярлык для Intellij (рекомендуется по умолчанию), и нажмите «Установить».

После завершения установки запустите Intellij и настройте параметры настройки, плагины по умолчанию и, наконец, установите плагин поддержки языка Scala. Если вы пропустили настройки настройки, вы можете при запуске Intellij настроить плагины.

На вкладке «Торговая площадка» найдите плагин Scala и установите его. Убедитесь, что вы установили Scala, проверив вкладку «Установлено».

Вернувшись в окно запуска, выберите «Создать новый проект».

Выберите «Scala», затем «IDEA» и нажмите «Далее».

Создайте имя проекта и выберите «Создать» в Scala SDK, затем выберите последнюю версию. После настройки сведений о проекте выберите «Готово». Теперь вы находитесь в представлении проекта, где вы можете видеть свои ресурсы в папке проекта слева.

Чтобы создать файл Scala и начать кодирование, щелкните правой кнопкой мыши «src» и в разделе «новый» выберите «Scala Class». Здесь вы можете разместить свою основную функцию и начать кодирование. Чтобы узнать больше о кодировании, просмотрите шаги по выполнению простой программы ниже.

Установка Scala Build Tool:

Перейдите к Scala SBT и выберите загрузку Windows для SBT. После завершения загрузки вы можете найти установочный msi-файл в папке Загрузки.

Запустите msi. Вам будет показано предупреждение системы безопасности Windows, выберите «запустить». После этого появится мастер настройки SBT.

Нажмите «Далее», прочтите и примите лицензионное соглашение, затем нажмите «Далее». Появится пользовательская установка, вы можете внести изменения в соответствии с вашими потребностями (рекомендуется по умолчанию), затем нажмите «Далее» и установите. Вам будет предложено разрешить программе вносить изменения, выберите «Да».

Теперь, когда инструмент настроен. Создайте новую пустую папку в удобном для доступа месте и в командной строке перейдите в этот каталог.

C:\Users\CoLap> cd Documents/ScalaProgram

Далее запускаем команду:

> sbt new scala/hello-world.g8

Это извлекает шаблон «hello-world» из GitHub и создает другие папки, которые можно игнорировать. При появлении запроса назовите шаблон Hello World как «hello-world». Это создаст проект для программирования.

Затем перейдите в каталог hello-world и выполните команду:

> sbt

Теперь, когда вы находитесь в консоли sbt, выполните команду:

> ~run

Символ «~» позволяет вам активно компилировать и автоматически запускать вашу программу Scala каждый раз при обновлении (сохранении) файла. Чтобы найти свой файл scala, просто просмотрите каталог: hello-world / src / main / scala / Main.scala

Вы можете редактировать файл в своем любимом текстовом редакторе.

Linux:
в окне терминала введите java -version.

$ java -version

Установка в Linux

В этом руководстве мы сосредоточимся на установке Ubuntu. Если у вас есть работающий Java 8 JDK, есть два варианта запуска Scala в Linux. Самый простой способ - загрузить и установить плагин Scala для IntelliJ. В Ubuntu мы рекомендуем вам использовать снимки для установки IDE (что такое снимки?). Ubuntu 16.04 LTS и более поздние версии поставляются с предустановленной оснасткой, и вы можете запустить следующую команду для установки IntelliJ:

$ sudo snap install intellij-idea-community --classic --edge

Своевременно обновляйте установку, просто набрав:

$ snap refresh

Запустите IntelliJ и войдите в меню настроек (CTRL + Alt + S). На вкладке «Плагины» нажмите кнопку «Установить» для Scala.

Затем мы создадим новый проект, чтобы завершить установку Scala SDK.
Запустите IntelliJ и перейдите в меню File - ›New -› Project.
Выберите Scala из опций слева, а затем IDEA из опций на право.

Поскольку это первоначальный запуск, Scala SDK пуст. Нажмите кнопку «Создать» справа, а затем кнопку «Загрузить». Вы сможете выбрать свой уровень SDK. Выберите самый высокий из доступных.

По завершении вы можете нажать кнопку Готово и перейти к разделу ниже, чтобы написать и запустить свой первый проект Scala. Если вы предпочитаете использовать пакеты .deb или командную строку, вы можете сделать следующее для установки sbt:
Загрузите пакет DEB из этого места. (текущая версия sbt на момент написания этой статьи - 1.2.8) и запустите ее.

Вы сможете поддерживать его в актуальном состоянии вместе со своими обычными пакетами с помощью:

$ sudo apt-get update
$ sudo apt-get upgrade

Или выполните следующие команды в окне терминала, чтобы добавить необходимые репозитории в вашу среду:

$ echo “deb https://dl.bintray.com/sbt/debian /” | sudo tee -a /etc/apt/sources.list.d/sbt.list=
$ sudo apt-key adv — keyserver hkp://keyserver.ubuntu.com:80 — recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
$ sudo apt-get update
$ sudo apt-get install sbt

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

Теперь, когда Scala установлена ​​и готова к использованию, давайте протестируем ее инструменты, написав простую программу без глубоких знаний языка. Для этого я собираюсь представить три варианта выполнения этой задачи: проект Intellij IDE, интерпретатор командной строки Scala REPL (Read-Evaluate-Print-Loop) и более, возможно, знакомый метод JVM компилятора Scalac.

Проект Intellij:
Если вы выполнили наши действия по установке Scala через IDE, вот как вы можете создать и запустить простой проект.

Создайте новый проект на IntelliJ. Выберите Scala слева, а затем выберите SBT справа.

Установите версию JDK на 1.8 и убедитесь, что ваша версия SBT не ниже 0.13.13, а затем нажмите Finish.

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

Разверните каталоги слева до ExampleProject - ›src -› main

Щелкните правой кнопкой мыши папку scala и выберите «Создать-› Пакет ».

Щелкните правой кнопкой мыши только что созданный пакет и выберите «Создать» - ›Класс Scala.

Назовите его Main и выберите «object» в качестве типа.

Ваша структура IDE теперь должна выглядеть так

Напишите следующий пример кода справа.

object main extends App {
    println(“Welcome to Scala!”)
}

Нажмите «Выполнить» (или Alt + Shift + F10) и выберите основной. В окне вашего терминала будет отображаться следующее:

Поздравляю. Вы успешно написали и выполнили свою первую программу Scala в среде IDE.

Интерактивный переводчик:

Чтобы запустить Scala REPL, введите Scala в командной строке:

$ scala

Это встретит вас приветственным сообщением, версией и приглашением Scala:

Welcome to Scala 2.12.8 (Java HotSpot(TM) 64-Bit Server VM, Java 10.0.2).
Type in expressions for evaluation. Or try :help.
scala> $

Отсюда мы можем создавать и присваивать различные переменные и выражения внутри интерпретатора.

scala> val width = 5
width: Int = 5
scala> val height = 6
height: Int = 6
scala> val area = width * height
area: Int = 30
scala> val a = Array(10,100,1000)
a: Array[Int] = Array(10, 100, 1000)

Функциональные объекты также могут быть созданы и выполнены:

scala> object HelloWorld {
 | def main(args: Array[String]): Unit = {
 | println(“Hello, World!”)
 | }
 | }
defined object HelloWorld
scala> HelloWorld.main(Array())
Hello, World!

И, наконец, ярлык: q или: quit используется для выхода из интерпретатора:

scala> :q

Более традиционная компиляция:
Для более традиционного подхода к компиляции из командной строки javac команда scalac компилирует один или несколько файлов Scala в байт-код Java для выполнения на любой стандартной JVM.

Начните с открытия вашего любимого текстового редактора и написав эту простую программу Scala сверху, и сохраните ее как HelloWorld.scala:

object HelloWorld {
    def main(args: Array[String]): Unit = {
    println(“Hello, World!”)
  }
}

Теперь откройте командную строку в том же месте, что и наш файл Scala, и запустите:

$ scalac HelloWorld.scala

Это создает наши файлы классов в нашем текущем каталоге. Чтобы указать каталог, выполните ту же команду еще раз, но включите флаг -d, чтобы указать выходной каталог:

$ scalac -d bin HelloWorld.scala

Теперь, чтобы выполнить нашу программу, мы запускаем нашу команду scala:

$ scala HelloWorld
Hello, World!

Это запускает программу из наших скомпилированных файлов классов. Чтобы указать каталог, мы можем использовать флаг -cp, чтобы выбрать путь к классам наших скомпилированных файлов классов.

$ scala -cp bin HelloWorld
Hello, World!

Использование инструментов сборки Scala

В Scala нет диспетчера пакетов, как в некоторых языках программирования. Вместо этого у него есть определенные инструменты сборки, которые могут выполнять аналогичную роль. Конкретный пример - SBT или Scala Build Tool (ранее Simple Build Tool). SBT - это инструмент с открытым исходным кодом, который можно использовать для проектов Scala и / или Java. Это не только очень важный инструмент для программистов Scala, но и наиболее часто используемый инструмент сборки, который в сообществе считается де-факто инструментом.

Может возникнуть вопрос, зачем вообще использовать SBT, и ответ довольно прост. При написании небольшой программы, имеющей всего несколько исходных файлов, нетрудно скомпилировать все исходные файлы с помощью командной строки. Однако, как только вы начнете работать с более крупными проектами, которые могут иметь сотни исходных файлов, для компиляции вручную потребуется слишком много времени и усилий. Вместо этого инструмент сборки сможет скомпилировать все эти файлы за вас.

Использование SBT дает много преимуществ. Например, поскольку он был написан на Scala, инструмент сборки имеет весь язык для поддержки при компиляции кода. Кроме того, вы даже можете использовать его для проектов, требующих как Java, так и Scala. Эта модель построена на принципе обновления по запросу, что позволяет ей быть более гибкой и сфокусированной на приложениях. Кроме того, SBT имеет полезные функции, повышающие эффективность, такие как инкрементные тесты / компиляция и исправление библиотеки. Пошаговое тестирование и компиляция позволяют разработчикам сосредоточиться на изменениях, которые им необходимо зафиксировать, но, что более важно, они позволяют не затрагивать подавляющее большинство неизмененного кода. Исправление библиотеки помогает пользователю загрузить и исправить необходимые библиотеки из проекта. Он также работает с другими важными программами. Например, части его приложения, управляющие зависимостями, полагаются на Apache Ivy, что также позволяет ему поддерживать репозитории Maven.

Чтобы правильно использовать SBT, пользователю необходимо создать файл build.sbt, содержащий информацию о том, как будет работать проект. Некоторая важная информация, которую следует включить, будет включать список всех исходных файлов, имя проекта и используемые версии SBT и Scala. Он также должен включать задачи, настройки и управляемые зависимости, необходимые для проекта. Как только вся необходимая информация будет добавлена, SBT прочитает файл build.sbt и скомпилирует проект.

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

Авторы:

Тайлер Ремми @TylerRemmie

Дэн Мартинес @DanielMartinez

Абдул Асиф @AbdulAsif

Колби Кунель

Хай Нгуен @HuyNguyen