Scala, более высокий уровень языка на виртуальной машине Java

Созданная группой LAMP в Федеральной политехнической школе Лозана (EPFL) под руководством профессора Мартина Одерского, Скала представляет собой универсальный язык программирования, разработанный для обеспечения краткого и простого кода. Он близок к Java с заимствованиями из различных других языков, но также приносит инновации и упрощения, что заставляет задуматься о JavaScript. Это приводит к медленной компиляции.
Она основана на предметно-ориентированном программировании не меньше функциональных языков. По мнению авторов, код Scala в два-три раза лаконичнее эквивалентного кода в Java. Но можно написать и такой нечитаемый код, как у Perl. Как и Perl, он позволяет делать то же самое очень разными способами.
Код может быть скомпилирован в байт-коде Java или .NET и совместим с их соответствующими runtimes. В феврале 2015 года компилятор Scala.js в JavaScript был объявлен пригодным для использования в производстве .

Слово scala является коротким для SCAlable LAnguage и также означает лестницу на итальянском языке, что символизирует многоуровневое программирование.

Компилятор scalac имеет лицензию BSD. С 2014 года ведущие разработчики компилятора работают над новым языком - Dotty, упрощённой версией Scala, которая должна позволить удалить трудноразрешимые проблемы для совершенствования этого компилятора.

Le language de programmation Scala

14 марта 2017 года объявляется Scala Native. (Статья на английском языке). Речь идет о замене виртуальной машины Java на LLVM и, следовательно, создании исполняемых бинарных файлов. К этому прилагается полная библиотека, но для запуска по-прежнему требуется Java.

В мае 2021 года приходит Scala 3, предлагающая простоту в синтаксисе. Можно написать код с помощью отступа, как это делает Python вместо объятий. Сейчас она необязательна, но всегда можно использовать классический синтаксис.

Характеристики Скалы

Нужно знать, что многие элементы языка, такие как, например, return или for, не работают так, как принято в предыдущих языках.

Синтаксис и конструкции:

Другие возможности:

Пример кода в Scala, показывать «Привет, мир!»:

object HelloWorld {
  def main(args: Array[String]) {
    println("Salut le Monde!")
  }
}

Определить класс:

class voiture(vitesse:Integer, nom:String) {
   ... corps du constructeur et de la classe ...
}

Зачем использовать Скалу

?

Scala способствует постепенной эволюции программ во времени.
Код Scala может легко взаимодействовать с ранее существовавшим кодом Java. Он фактически компилируется в байт-коде Java. Таким образом, оба языка можно использовать в одной программе, так как Scala обеспечивает, в частности, преимущество большей краткости .
Scala позволяет легко обрабатывать документы XML.

Социальный сайт Twitter отказался от языка Ruby для бэкенда и запрограммировал свои услуги на Scala, чтобы воспользоваться эволюционным характером языка. Сайт постепенно наращивает аудиторию и со временем предлагает новые услуги, отсюда и потребность в языке, облегчающем расширение программ без их переписывания.

Инструменты и документы