Руководство для начинающих по Scala

Введение

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 and dataCamp 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, которые не могут использоваться в качестве констант, переменных или любых других идентификаторов.

(Source)

Типы данных

Типы данных в 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

IF ELSE в Scala

Операторы в Scala

Списки в Scala

Существует множество информации, связанной с Scala, которая остается неизведанной, как if/else, циклы for, различные операторы в Scala и т. д., которые будут рассмотрены в будущих учебниках, так что оставайтесь с нами!

Ссылки:

Пожалуйста, задавайте любые вопросы, связанные с этим учебником, в разделе комментариев ниже.

Source:
https://www.datacamp.com/tutorial/beginners-guide-to-scala