Введение в Scala

Введение в Scala

#Scala


Scala — это универсальный многоуровневый язык программирования высокого уровня. Это чисто объектно-ориентированный язык программирования, который также обеспечивает поддержку подхода функционального программирования. Не существует понятия примитивных данных, поскольку в Scala все является объектом. Он предназначен для выражения общих шаблонов программирования в изысканном, лаконичном и безопасном для типов виде. Программы Scala могут преобразовываться в байт-коды и могут работать на JVM (виртуальная машина Java). Scala расшифровывается как Scalable language. Он также предоставляет среды выполнения Javascript . Scala находится под сильным влиянием Java и некоторых других языков программирования, таких как Lisp, Haskell, Pizza и т. Д.


Эволюция Скала:

Scala был разработан Мартином Одерским , профессором методов программирования в Французской Политехнической Школе (EPFL) в Швейцарии и немецким ученым-программистом. Мартин Одерски также является соавтором javac (Java Compiler) , Generic Java и языка программирования EPFL Funnel . Он начал проектировать Scala в 2001 году. Scala была впервые выпущена в открытом доступе в 2004 году на платформе Java в качестве ее первой версии. В июне 2004 года Scala был изменен для .Net Framework . Вскоре за ним последовала вторая версия, т.е. (v2.0 ) в 2006 году. На конференции JavaOne в 2012 году Scala была отмечена победителем конкурса ScriptBowl. С июня 2012 года Scala не предоставляет никакой поддержки .Net Framework . Последняя версия scala — 2.12.6, выпущенная 27 апреля 2018 года.

Почему Скала?

У Scala есть много причин быть популярными среди программистов. Немного из причин:

  • Легко начать: Scala — это язык высокого уровня, поэтому он ближе к другим популярным языкам программирования, таким как Java, C, C ++. Таким образом, становится очень легко выучить Scala для всех. Для Java-программистов Scala более прост в освоении.
  • Содержит лучшие возможности: Scala содержит функции различных языков, таких как C, C ++, Java и т. Д., Что делает его более полезным, масштабируемым и продуктивным.
  • Тесная интеграция с Java: исходный код Scala разработан таким образом, что его компилятор может интерпретировать классы Java. Кроме того, его компилятор может использовать фреймворки, библиотеки Java, инструменты и т. Д. После компиляции программы Scala могут работать на JVM.
  • Разработка веб-приложений и приложений для настольных компьютеров: для веб-приложений предоставляется поддержка путем компиляции в JavaScript. Аналогично для настольных приложений, он может быть скомпилирован в байт-код JVM.
  • Используется крупными компаниями: большинство популярных компаний, таких как Apple, Twitter, Walmart, Google и т. Д., Переносят большинство своих кодов в Scala с некоторых других языков. причина в том, что он хорошо масштабируется и может использоваться в бэкэнд-операциях.

Примечание: люди всегда думают, что Scala является расширением Java . Но это не правда. Это просто полностью совместимо с Java. Программы Scala преобразуются в файл .class, который содержит байт-код Java после успешной компиляции, а затем может работать на JVM (виртуальная машина Java).

Начиная с программирования Scala

Поиск компилятора. Существуют различные онлайновые IDE, такие как GeeksforGeeks IDE , Scala Fiddle IDE и т. Д., Которые можно использовать для запуска программ Scala без установки.

Программирование в Scala: Так как Scala очень похож на другие широко используемые языки синтаксически, в Scala проще кодировать и изучать. Программы могут быть написаны на Scala в любом из широко используемых текстовых редакторов, таких как Notepad ++ , gedit и т. Д., Или в любом из текстовых редакторов. После написания программы сохраните файл с расширением .sc или .scala .

Для Windows и Linux: перед установкой Scala в Windows или Linux в вашей системе должен быть установлен Java Development Kit (JDK) 1.8 или выше. Потому что Scala всегда работает на Java 1.8 или выше.

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

Пример: простая программа для печати Hello Geeks! используя объектно-ориентированный подход.


// Scala-программа для печати Hello, Geeks!

// используя объектно-ориентированный подход

  

// создание объекта

object Geeks {

  

// Основной метод

def main(args: Array[String])

{

      

    // печатает Привет, гики!

    println("Hello, Geeks!") 

}

}

Выход:

Hello Geeks!

Комментарии: комментарии используются для объяснения кода и используются аналогично Java или C или C ++. Компиляторы игнорируют записи комментариев и не выполняют их. Комментарии могут состоять из одной или нескольких строк.

  • Одна строка Комментарии:
Синтаксис:// Single line comment
  • Многострочные комментарии:Синтаксис:
/* Multi-line comments
   syntax */

Объект Geeks: объект — это ключевое слово, которое используется для создания объектов. Здесь « Гики » — это название объекта.

def main (args: Array [String]): def — это ключевое слово в Scala, которое используется для определения функции, а «main» — это имя метода Main. args: Array [String] используются для аргументов командной строки.

println («Привет, гики!»): println — это метод в Scala, который используется для отображения строки на консоли.

Note: There is also functional approach that can be used in Scala programs. Some Online IDE doesn’t provide support for it. We will discuss it in upcoming articles.

Особенности Scala

Есть много особенностей, которые отличают его от других языков.

  • Объектно-ориентированное. Каждое значение в Scala является объектом, поэтому это чисто объектно-ориентированный язык программирования. Поведение и тип объектов описываются классами и чертами в Scala.
  • Функциональный: это также функциональный язык программирования, так как каждая функция является значением, а каждое значение является объектом. Он обеспечивает поддержку функций высокого порядка, вложенных функций, анонимных функций и т. Д.
  • Статически типизированный . Процесс проверки и применения ограничений типов выполняется во время компиляции в Scala. В отличие от других статически типизированных языков программирования, таких как C ++, C и т. Д., Scala не ожидает от пользователя избыточной информации о типах. В большинстве случаев пользователю не нужно указывать тип.
  • Расширяемый: Новые языковые конструкции могут быть добавлены в Scala в виде библиотек. Scala предназначен для интерполяции с JRE (Java Runtime Environment) .
  • Параллельная и синхронная обработка: Scala позволяет пользователю писать коды неизменным образом, что упрощает применение параллелизма (синхронизации) и параллелизма.
  • Работать на JVM и может выполнять код Java: Java и Scala имеют общую среду выполнения. Таким образом, пользователь может легко перейти с Java на Scala. Компилятор Scala компилирует программу в файл .class , содержащий байт-код, который может быть выполнен JVM . Все классы Java SDK могут использоваться Scala. С помощью Scala пользователь может настроить классы Java.

Преимущества:

  • Сложные функции Scala обеспечивают лучшее кодирование и эффективность работы.
  • Кортежи, макросы и функции — это достижения в Scala.
  • Он включает в себя объектно-ориентированное и функциональное программирование, что, в свою очередь, делает его мощным языком.
  • Он хорошо масштабируется и, таким образом, обеспечивает лучшую поддержку для внутренних операций.
  • Это снижает риск, связанный с безопасностью потока, который выше в Java.
  • Из-за функционального подхода, как правило, пользователь получает меньше строк кода и ошибок, что приводит к повышению производительности и качества.
  • Из-за ленивых вычислений Scala вычисляет выражения только тогда, когда они требуются в программе.
  • В Scala нет статических методов и переменных. Он использует одноэлементный объект (класс с одним объектом в исходном файле).
  • Это также обеспечивает концепцию черт. Черты — это набор абстрактных и неабстрактных методов, которые могут быть скомпилированы в интерфейсы Java.

Недостатки:

  • Иногда два подхода затрудняют понимание Scala.
  • По сравнению с Java-разработчиками доступно ограниченное количество разработчиков Scala.
  • У него нет рекурсивной оптимизации с истинным хвостом, поскольку он работает на JVM.
  • Он всегда вращается вокруг объектно-ориентированной концепции, потому что каждая функция является значением, а каждое значение является объектом в Scala.

Приложения:

  • В основном используется при анализе данных с искрой.
  • Используется для разработки веб-приложений и API.
  • Это предоставляет средства для разработки рамок и библиотек.
  • Предпочитается использовать в бэкэнд-операциях для повышения производительности труда разработчиков.
  • Параллельная пакетная обработка может быть выполнена с использованием Scala.


Report Page