Scala – статически типизированный, объектно-ориентированный язык программирования, в котором смешиваются императивный и функциональный стили программирования. Scala рассчитана на легкую интеграцию с приложениями, исполняемыми на современных виртуальных машинах, в первую очередь, виртуальной машине Java (JVM). Основной компилятор Scala, scalac, генерирует файлы Java-классов, которые могут исполняться под JVM. Однако существует и другой компилятор Scala, генерирующий бинарные файлы, исполняемые под .NET CLR, поскольку Scala задумана для интеграции с мирами как Java, так и .NET. В мире Java язык Scala можно использовать параллельно с языком Java – или как альтернативу Java – для создания приложений, исполняемых под JVM.
Скала разрабатывается с 2003 группой Мартина Одерского (Martin Odersky) в EPFL, в Лозанне, Швейцария. Он участвовал в создании первой версии generic-ов Java и был автором текущего компилятора javac. Работа над Scala мотивировалась желанием обойти ограничения, накладываемые требованиями обратной совместимости с Java. Так что Scala – это не расширение Java, но она сохраняет возможность взаимодействия с Java.
Одна из причин, способных заставить вас обратиться к программированию на Scala, состоит в том, что Scala позволяет увеличить производительность разработчика по сравнению с Java, сохраняя скорость исполнения JVM, существующие инвестиции в Java-код, знания и множество API, имеющихся для JVM. Scala обладает краткостью языков типа Ruby или Python, но при этом статически типизирована, как и Java. Еще одна причина в том, что Scala поставляется с Erlang-подобной библиотекой Actors, которая существенно упрощает параллельное программирование, но работает под JVM.
По-итальянски Scala означает "лестница". В данной статье мы проведем вас по 12 ступеням, которые помогут вам набраться знаний в Scala. Лучше всего использовать эту статью, проверяя каждый пример с помощью интерпретатора или компилятора Scala. Шаг 1 объясняет, как скачать и установить дистрибутив Scala.
Для исполнения примеров из этой статьи, вам нужно скачать Scala со страницы http://www.scala-lang.org/downloads/index.html. Примеры этой статьи написаны для Scala 2.5.0-RC1, так что вам нужно скачать более свежую версию, чем 2.5.0-RC1. После скачивания архива создайте каталог (возможно, с именем scala), и распакуйте архив в этот пустой каталог. Среди создаваемых при распаковке подкаталогов будет каталог bin с исполняемыми файлами Scala, включая компилятор и интерпретатор. Для удобства использования Scala добавьте путь к каталогу bin в переменную среды PATH. Единственное дополнительное требование – установить Java 1.4 или выше, скачать Java можно с http://java.sun.com/. Можно также использовать Scala через модули расширения Eclipse и IntelliJ, но здесь мы будем считать, что вы используете дистрибутив Scala со scala-lang.org.