Latest web development tutorials

Введение в Scala

Scala является аббревиатурой Scalable языка, это язык программирования, мульти-парадигмой

Федеральный технологический институт Лозанны (EPFL) в 2001 году, Одерски Воронка на основе работы начали разрабатывать Scala.

Воронка является языком программирования, как полагают, функционального программирования и сетей Петри предлагается.

Одерски предыдущая работа Generic Java и Javac (Sun Java компилятор). Платформа Scala Java в конце выпуска 2003 / начале 2004 года. Платформа .NET Scala выпущен в июне 2004 года. Вторая версия языка, v2.0, выпущенный в марте 2006 года.

По состоянию на сентябрь 2009 года, последняя версия версия 2.7.6. Scala 2.8 ожидаемые функции включают перезаписываемых библиотеки Scala (Scala коллекции библиотеки), с именем и параметры метода по умолчанию, пакет объектов (пакет объектов), а продолжение.

Апреля 2009 года, Twitter объявил о том, что они провели большую часть серверной программы для перехода от Руби Scala, остальные собираются мигрировать. Кроме того, Wattzon публично заявил, вся платформа основана на Scala инфраструктуры уже подготовленной.


функция Scala

Объектно-ориентированные возможности

Scala является чисто объектно-ориентированный язык, каждое значение является объектом. Объект типы данных и поведения, описанных классов и признаков.

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

Функциональное программирование

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

Кроме того, программисты могут использовать сопоставления с образцом в Scala, написать код для обработки XML-данные, аналогичные с регулярными выражениями.

Статический тип

Scala имеет тип системы, через проверки времени компиляции для обеспечения безопасности программного кода и согласованности. Конкретная система типов поддерживает следующие функции:

  • Общий класс
  • Ковариантность и
  • Выноска
  • Верхняя и нижняя граница параметра типа
  • Классы и абстрактные типы объектов в качестве членов
  • Составной тип
  • Цитирую себя, когда явно указать тип
  • вид
  • Полиморфный метод

растяжимость

Scala призвана поддержать тот факт, что на практике, чтобы разработать конкретные области применения часто требуют конкретного языка в области расширения. Scala обеспечивает уникальное сочетание языковых механизмов может быть в виде библиотек легко легко добавить новые языковые конструкции:

  • Любой метод может быть использован в качестве оператора префикс или суффикс
  • Он может быть автоматически сконфигурировано в соответствии с предполагаемым типом закрытия.

совпадение

Scala в качестве параллелизмом модели с использованием актера, актер сущности подобный нить через почту для отправки и получения сообщений. Актер может повторно использовать нити, он может быть использован миллионы актер в программе, но только создать тысячи нитей. В версии 2.10 после использования Акку, как его по умолчанию Актер достижения.


Кто использует Scala

  • Апреля 2009 года, Twitter объявил о том, что они провели большую часть серверной программы для перехода от Руби Scala, остальные собираются мигрировать.
  • Кроме того, Wattzon публично заявил, вся платформа основана на Scala подготовили инфраструктуру.
  • UBS в Scala для общих продуктов.
  • Coursera в качестве сервера с использованием языка Scala.

Веб-рамки Scala

Вот два более популярными веб-приложений рамки Scala: