Система Orphus
Версия для печати

Первые шаги в Scala

Авторы: Билл Веннерс
Мартин Одерски
Лекс Спун

Перевод: Купаев Михаил
Чистяков Влад

Источник: First Steps to Scala
Материал предоставил: RSDN Magazine #2-2007
Опубликовано: 30.07.2007
Исправлено: 15.04.2009
Версия текста: 1.0
Шаг 1. Скачиваем и устанавливаем Scala
Шаг 2. Учимся использовать интерпретатор Scala
Шаг 3. Определим некоторые значения и переменные.
Шаг 4. Определим несколько методов
Шаг 5: Пишем скрипты на Scala
Шаг 6. Конструкции while и if
Шаг 7. Перебор с foreach и for
Шаг 8. Параметризуем массивы типами
Шаг 9. Используем списки и кортежи
Шаг 10. Используем Set и Map
Шаг 11. Понимание классов и синглтон-объектов
Шаг 12. Понимание trait-ов и mixin-ов
Заключение
Ресурсы

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.

Шаг 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.

Шаг 2. Учимся использовать интерпретатор Scala

Шаг 3. Определим некоторые значения и переменные.

Шаг 4. Определим несколько методов

Шаг 5: Пишем скрипты на Scala

Шаг 6. Конструкции while и if

Шаг 7. Перебор с foreach и for

Шаг 8. Параметризуем массивы типами

Шаг 9. Используем списки и кортежи

Шаг 10. Используем Set и Map

Шаг 11. Понимание классов и синглтон-объектов

Шаг 12. Понимание trait-ов и mixin-ов

Заключение

Ресурсы


Полная версия этой статьи опубликована в журнале RSDN Magazine #2-2007. Информацию о журнале можно найти здесь