Einführung
Scala wurde von Martin Odersky, einem Professor an der École Polytechnique Fédérale de Lausanne (EPFL) in der Schweiz und einem deutschen Informatiker entworfen. Martin begann 2001 mit der Entwicklung von Scala, und es wurde erstmals 2004 veröffentlicht.
Scala steht für Scalable Language
. Es ist eine universell einsetzbare, objektorientierte Sprache, die einige Gemeinsamkeiten mit der Java-Programmiersprache aufweist. Sie unterstützt die funktionalen Programmierparadigmen. Viele Designentscheidungen von Scala waren darauf gerichtet, die Nachteile der Java-Programmiersprache zu beheben.
Einige Features, die Scala bietet:
-
Der Quellcode von Scala kann in Java-Bytecode übersetzt werden und somit auf der Java Virtual Machine (JVM) ausgeführt werden.
-
Es bietet Sprachinteropabilität mit Java, sodass Bibliotheken, die in entweder Sprache geschrieben wurden, in der Scala- oder Java-Codebasis referenziert werden können.
-
Wie Java verwendet auch Scala eine geschweifte-Klammer-Syntax.
-
Es verfügt über viele Features funktionaler Programmiersprachen wie Scheme, Standard Machine Learning und Haskell, einschließlich Kurring, Typinferenz, Unveränderlichkeit, verzögerte Bewertung und Musterabgleich.
-
Unterstützung für Webanwendungen durch Verwendung von JavaScript.
-
Im Gegensatz zu Java unterstützt Scala auch Operatorüberladung, optionale Parameter, benannte Parameter und reine Zeichenketten.
Eine interessante Tatsache über Scala ist, dass es von Unternehmen wie Apple, Twitter, Walmart und Google breit eingesetzt wird, aufgrund seiner Skalierbarkeit und der Fähigkeit, in Backend-Operationen verwendet zu werden.
Einrichten von Scala in Jupyter Notebook
Das Jupyter Notebook ist das am häufigsten verwendete Tool in der Informatik, insbesondere im Bereich Data Science. Es unterstützt auch die Scala-Entwicklung mit Hilfe von spylon-kernel
.
Hinweis: Für diejenigen von Ihnen, die neu bei Jupyter Notebook sind, werfen Sie gerne einen Blick auf diesen umfassenden Tutorial.
Das Einrichten der Scala-Umgebung in Jupyter Notebook ist keine Raketenwissenschaft. Lassen Sie uns es also in nur ein paar Schritten schnell einrichten.
-
Zuerst werden Sie das
spylon-kernel
installieren.pip install spylon-kernel
(Python 2)pip3 install spylon-kernel
(Python 3) -
Als nächstes werden Sie eine Kernel-Spezifikation erstellen, die es Ihnen ermöglicht, den
scala-kernel
im Jupyter-Notebook auszuwählen.python -m spylon_kernel install
(Python 2)python3 -m spylon_kernel install
(Python 3) -
Als wichtigen Schritt werden Sie dann
pyspark
undfindspark
installieren, daspylon-kernel
auch einigespark
-Komponenten installiert.pip install pyspark findspark
(Python 2)pip3 install pyspark findspark
(Python 3) -
Schließlich starten Sie Ihr Jupyter Notebook und wählen Sie den Kernel als
spylon-kernel
aus, dann sind Sie fertig!
- Lassen Sie uns ein kleines Stück Code ausführen, um zu testen, ob der Scala-Kernel korrekt配置 wurde oder nicht.
val x = 2 val y = 3 x*y
x: Int = 2 y: Int = 3 res1: Int = 6
Großartig! So wie Sie aus dem obigen Ausgabe erkennen können, waren Sie erfolgreich, um die Scala-Umgebung in Jupyter Notebook zu konfigurieren.
Grundlagen der Syntax
Lassen Sie uns beginnen, indem wir in Scala Hello, World!
drucken.
print("Hello, World!")
Hello, World!
Wie Sie sehen können, war es so einfach, nur ein print
-Befehl, gefolgt von der Eingabe als Argument.
Nun lassen Sie uns einige Details zur Syntax in Scala anschauen:
-
Scala ist groß- und kleinschreibendifferenzierend, was bedeutet, dass die Bezeichner
DataCamp
unddataCamp
in Scala unterschiedliche Bedeutungen haben. -
In Scala sind alle Klassennamen Großbuchstaben beginnen sollten. Wenn mehrere Wörter kombiniert werden, um den Namen einer Klasse zu bilden, sollte der erste Buchstabe jedes separaten Wortes Großbuchstaben sein. Zum Beispiel
class MyScalaDataCampTutorial
. -
Die Methodennamen in Scala unterscheiden sich leicht von den
Klassennamen
hauptsächlich, um dieMethodennamen
von denKlassennamen
zu trennen. Die Methodennamen sollten mit einem kleinen Buchstaben beginnen (Source). Wenn mehrere Wörter zu dem Namen einer Methode zusammengeschlagen werden, sollte der erste Buchstabe jedes inneren Wortes großgeschrieben werden. Zum Beispiel:def firstDatacampScalaTutorial()
-
In Scala sollte der Name der Programmdatei genau dem Namen des Objekts entsprechen. Beim Speichern der Datei muss sie unter Verwendung des Objektnamens gespeichert werden, wobei am Ende des Namens
.scala
angehängt werden muss. Zum Beispiel, wenn der ObjektnamenScalaTutorial
ist, dann sollte die Datei alsScalaTutorial.scala
gespeichert werden.Hinweis: Wenn der Dateiname und der Objektnamen nicht übereinstimmen, wird Ihr Programm nicht einmal kompiliert.
-
Letztendlich, wie bei den meisten Programmiersprachen, beginnt die Verarbeitung von Scala-Programmen auch mit der
main()
-Methode, die eine wesentliche Komponente von jedem Scala-Programm ist.
Im nachfolgenden Diagramm sind die reservierten Wörter in Scala dargestellt, die nicht als Konstanten, Variablen oder andere Bezeichner verwendet werden dürfen.

Datentypen
Datentypen in Scala sind fast identisch zu vielen anderen Programmiersprachen wie C, C++, Java, Python, etc., mit相似的内存占用和精度。
Zuletzt schauen wir uns einige der in Scala existierenden Datentypen an:
-
Int: Ein 32-bit signed (kann sowohl positive als auch negative Werte annehmen) Wert hat einen Bereich von $2^{-31}$ bis $2^{31} – 1$
-
Byte: Ein 8-bit signed Wert hat einen Bereich von $2^{-7}$ bis $2^{7} – 1$
-
Short: Ein 16-bit signed Wert hat einen Bereich von $2^{-15}$ bis $2^{15} – 1$
-
Long: Ein 64-bit signed Wert hat einen Bereich von $2^{-63}$ bis $2^{63} – 1$
-
Float: Sowohl 32-bit (Einzelpunktgenauigkeit) als auch 64-bit (Doppelpunktgenauigkeit)
-
Char: Ein 16-bit unsigned (kann nur positive Werte annehmen) Unicode-Zeichen.
Einige andere Datentypen sind String, Boolesch, Null.
Fazit
Herzlichen Glückwunsch zum Abschluss dieses Tutorials.
Es ist ein guter Startpunkt für Anfänger, die daran interessiert sind, Scala zu lernen.
Um mehr zu erfahren, schauen Sie sich die Scala-Tutorials von DataCamp an:
Grundlagen von Funktionen und Methoden in Scala
Es gibt eine Fülle von Informationen zu Scala, die noch zu entdecken sind, wie if/else, for-Schleifen, verschiedene Operatoren in Scala usw., die in zukünftigen Tutorials behandelt werden, also Bleib dran!
Referenzen:
Bitte stellen Sie unten im Kommentarbereich beliebige Fragen zu diesem Tutorial.
Source:
https://www.datacamp.com/tutorial/beginners-guide-to-scala