Введение
Scala была разработана профессором Martin Odersky из Швейцарии, работающим в École Polytechnique Fédérale de Lausanne (EPFL) и немецким компьютерным ученым. Martin начал работать над созданием Scala в 2001 году, и она была впервые выпущена в 2004 году.
Scala означает “Скалабльный язык”. Это общее-назначение, объектно-ориентированный язык, у которого несколько сходств с языком программирования Java. Scala обеспечивает поддержку функционального программирования. Многие из решений в дизайне Scala были направлены на решение недостатков языка программирования Java.
Несколько функций, которые Scala предлагает:
-
Исходный код Scala может быть компилирован в Java bytecode, поэтому он может быть выполнен на Java Virtual Machine (JVM).
-
Она обеспечивает взаимодействие языков с Java, поэтому библиотеки, написанные на любом из языков, могут быть использованы в Scala или Java кодовой базе.
-
Подобно Java, Scala также использует синтаксис с закрывающими и открывающими фигурными скобками.
-
У Scala множество особенностей, характерных для языков функционального программирования, таких как Scheme, Standard Machine Learning и Haskell, включая применение функций, выводительные типы, неизменчивость, неявное вычисление и сопоставление входных данных.
-
Поддержка веб-приложений на JavaScript.
-
В отличие от Java, Scala также поддерживает переопределение операторов, опциональные параметры, named parameters и raw strings.
Один интересный факт о Scala заключается в том, что этот язык широко используется компаниями, такими как Apple, Twitter, Walmart и Google, благодаря его масштабности и возможности использования в backend операциях.
Установка Scala в Jupyter Notebook
Jupyter notebook является одним из самых широко используемых инструментов в компьютерной науке, особенно в области data science. Также он поддерживает разработку на Scala с помощью spylon-kernel
.
Примечание: для тех из вас, кто новичок в jupyter notebook, пожалуйста, не стесняйтесь проверить этот комплексный tutorial.
Установка среды Scala в jupyter notebook не является космической наукой. Так что let’s quickly set it up в just a few steps.
-
Сначала вы установите
spylon-kernel
.pip install spylon-kernel
(Python 2)pip3 install spylon-kernel
(Python 3) -
Далее, вы создадите спецификацию ядра, что позволит вам выбрать
scala-kernel
в Jupyter Notebook.python -m spylon_kernel install
(Python 2)python3 -m spylon_kernel install
(Python 3) -
Затем, как важный шаг, вы установите
pyspark
иfindspark
, так какspylon-kernel
также устанавливает некоторые компонентыspark
.pip install pyspark findspark
(Python 2)pip3 install pyspark findspark
(Python 3) -
В конце концов, запустите ваш ноутбOKр и выберите ядро с именем
spylon-kernel
, и вы будете готовы к работе!
- Давайте запустим небольшой кусок кода, чтобы проверить, был ли установлен ядро Scala правильно.
val x = 2 val y = 3 x*y
x: Int = 2 y: Int = 3 res1: Int = 6
Вот прекрасно! Так как вы можете observed from the above output, вам удалось успешно настроить среду Scala в ноутбOKре.
基本语法
Пусть’s start by printing Hello, World!
in Scala.
print("Hello, World!")
Hello, World!
Как вы можете see, это был так simple, just a print
command followed by the input as an argument.
Теперь посмотрим на несколько деталей Syntax в Scala:
-
Scala is case-sensitive, which means identifier
DataCamp
anddataCamp
would have a different meaning in Scala. -
In Scala, all class names first letter should be in
Upper Case
. If many words are combined to form a name of the class, each separate word’s first letter should be in Upper Case. For example,class MyScalaDataCampTutorial
. -
Имена методов в Scala работают немного по-другому, чем
имена классов
, главным образом для различенияметодов
отклассов
. Имена методов должны начинаться смаленькой буквы
(Source). Если составленное имя метода состоит из множества слов, то первая буква каждого внутреннего слова должна быть вбольшой букве
. Например,def firstDatacampScalaTutorial()
-
В Scala имя программного файла должно точно соответствовать идентификатору объекта. При сохранении файла необходимо сохранять его с именем объекта и добавлять
.scala
в конце имени. Например, предположим, что идентификатор объектаScalaTutorial
. Тогда файл должен быть сохранен какScalaTutorial.scala
.Примечание: Если имя файла и идентификатор объекта не совпадают, то ваша программа даже не будет компилироваться.
-
Конечно, как и в большинстве языков программирования, обработка программы Scala начинается с
main()
метода, который является важной частью каждой программы Scala.
Ниже представлен рисунок с резервированными словами в Scala, которые не могут использоваться в качестве констант, переменных или любых других идентификаторов.

Типы данных
Типы данных в Scala практически идентичны многим другим программным языкам, таким как C, C++, Java, Python и т. д., с аналогичным объемом памяти и точностью.
Конечно, посмотрим на несколько типов данных, существующих в Scala:
-
Int: 32-bit signed (can take both positive as well as negative values) value has a range from $2^{-31}$ to $2^{31} – 1$
-
Byte: An 8-bit signed value has a range from $2^{-7}$ to $2^{7} – 1$
-
Short: A 16-bit signed value has a range from $2^{-15}$ to $2^{15} – 1$
-
Long: A 64-bit signed value has a range from $2^{-63}$ to $2^{63} – 1$
-
Float: Both 32-bit (single-precision float) and 64-bit (double precision float)
-
Char: A 16-bit unsigned (can only take positive values) Unicode character.
Некоторые другие типы данных включают Строку, Логический, Нуль.
Заключение
Поздравляем вас с завершением этого учебника.
Это хорошая отправная точка для начинающих, заинтересованных в изучении Scala.
Чтобы узнать больше, посмотрите на учебники Scala DataCamp:
Основы функций и методов в Scala
Существует множество информации, связанной с Scala, которая остается неизведанной, как if/else, циклы for, различные операторы в Scala и т. д., которые будут рассмотрены в будущих учебниках, так что оставайтесь с нами!
Ссылки:
Пожалуйста, задавайте любые вопросы, связанные с этим учебником, в разделе комментариев ниже.
Source:
https://www.datacamp.com/tutorial/beginners-guide-to-scala