Kurs
Einführung

Scala wurde von Martin Odersky entwickelt, Professor an der École Polytechnique Fédérale de Lausanne (EPFL) in der Schweiz und deutscher Informatiker. Martin begann 2001 mit der Entwicklung von Scala, die erste Veröffentlichung erschien 2004.
Scala steht für Scalable Language. Es ist eine universelle, objektorientierte Sprache mit einigen Gemeinsamkeiten zur Programmiersprache Java. Zudem unterstützt sie funktionale Programmierung. Viele Designentscheidungen in Scala zielen darauf ab, Schwächen der Programmiersprache Java zu beheben.
Einige Funktionen, die Scala bietet:
-
Scala-Quellcode lässt sich zu Java-Bytecode kompilieren und kann daher auf der Java Virtual Machine (JVM) ausgeführt werden.
-
Interoperabilität mit Java, sodass Bibliotheken beider Sprachen in Scala- oder Java-Codebasen genutzt werden können.
-
Wie Java verwendet auch Scala eine geschweifte-Klammern-Syntax.
-
Es bringt viele Merkmale funktionaler Sprachen wie Scheme, Standard ML und Haskell mit, darunter Currying, Typinferenz, Unveränderlichkeit, Lazy Evaluation und Pattern Matching.
-
Unterstützung für Webanwendungen mit JavaScript.
-
Anders als Java unterstützt Scala Operatorüberladung, optionale Parameter, benannte Parameter und Raw Strings.
Ein spannender Fakt zu Scala: Unternehmen wie Apple, Twitter, Walmart und Google setzen es breit ein – dank seiner Skalierbarkeit und Eignung für Backend-Operationen.
Scala im Jupyter Notebook einrichten
Jupyter Notebook gehört zu den am häufigsten genutzten Tools in der Informatik, besonders im Data-Science-Bereich. Mit Hilfe des spylon-kernel lässt sich auch Scala darin entwickeln.
Hinweis: Wenn du neu bei Jupyter Notebook bist, schau dir gern dieses umfassende Tutorial an.
Die Scala-Umgebung im Jupyter Notebook einzurichten, ist kein Hexenwerk. Lass es uns in wenigen Schritten erledigen.
-
Installiere zuerst den
spylon-kernel.pip install spylon-kernel(Python 2)pip3 install spylon-kernel(Python 3) -
Erstelle anschließend eine Kernel-Spezifikation, damit du im Jupyter Notebook den
scala-kernelauswählen kannst.python -m spylon_kernel install(Python 2)python3 -m spylon_kernel install(Python 3) -
Installiere dann als wichtigen Schritt
pysparkundfindspark, daspylon-kernelauchspark-Komponenten mitbringt.pip install pyspark findspark(Python 2)pip3 install pyspark findspark(Python 3) -
Starte zum Schluss dein Jupyter Notebook, wähle als Kernel
spylon-kernel– und los geht's!

- Lass uns ein kurzes Codebeispiel ausführen, um zu testen, ob der Scala-Kernel korrekt eingerichtet ist.
val x = 2
val y = 3
x*y
x: Int = 2
y: Int = 3
res1: Int = 6
Super! Wie du am obigen Output siehst, hast du die Scala-Umgebung im Jupyter Notebook erfolgreich konfiguriert.
Grundsyntax
Starten wir damit, Hello, World! in Scala auszugeben.
print("Hello, World!")
Hello, World!
Wie du siehst, ist das ganz einfach: ein print-Befehl mit dem Text als Argument.
Schauen wir uns nun ein paar Details zur Syntax in Scala an:
-
Scala ist case-sensitiv, das heißt, die Bezeichner
DataCampunddataCampbedeuten Unterschiedliches. -
In Scala sollte der erste Buchstabe von Klassennamen großgeschrieben sein. Werden mehrere Wörter kombiniert, beginnt jedes Wort mit einem Großbuchstaben. Beispiel:
class MyScalaDataCampTutorial. -
Methodennamen funktionieren in Scala etwas anders als
Klassennamen, vor allem zur besseren Unterscheidung. Methodennamen beginnen mit einem Kleinbuchstaben (Quelle). Werden mehrere Wörter kombiniert, beginnt jedes innere Wort mit einem Großbuchstaben. Beispiel:def firstDatacampScalaTutorial() -
In Scala sollte der Name der Programmdatei exakt dem Objektnamen entsprechen. Beim Speichern nutzt du den Objektnamen und hängst
.scalaan. Angenommen, der Objektname istScalaTutorial, dann speicherst du alsScalaTutorial.scala.Hinweis: Stimmen Dateiname und Objektname nicht überein, lässt sich das Programm nicht kompilieren.
-
Wie in den meisten Programmiersprachen startet die Ausführung auch in Scala in der Methode
main(). Sie ist der zentrale Einstiegspunkt jedes Scala-Programms.
Die folgende Abbildung zeigt reservierte Wörter in Scala, die nicht als Konstanten, Variablen oder andere Bezeichner verwendet werden dürfen.
Datentypen
Die Datentypen in Scala sind vielen anderen Sprachen wie C, C++, Java, Python usw. sehr ähnlich – mit vergleichbarem Speicherbedarf und Präzision.
Zum Abschluss sehen wir uns einige der in Scala vorhandenen Datentypen an:
-
Int: Ein 32-Bit vorzeichenbehafteter Wert (kann positive und negative Werte annehmen) mit einem Bereich von $2^{-31}$ bis $2^{31} - 1$
-
Byte: Ein 8-Bit vorzeichenbehafteter Wert mit einem Bereich von $2^{-7}$ bis $2^{7} - 1$
-
Short: Ein 16-Bit vorzeichenbehafteter Wert mit einem Bereich von $2^{-15}$ bis $2^{15} - 1$
-
Long: Ein 64-Bit vorzeichenbehafteter Wert mit einem Bereich von $2^{-63}$ bis $2^{63} - 1$
-
Float: Sowohl 32-Bit (Single Precision) als auch 64-Bit (Double Precision)
-
Char: Ein 16-Bit vorzeichenloses (nur positive Werte) Unicode-Zeichen.
Weitere wichtige Datentypen sind String, Boolean, Null.
Fazit
Glückwunsch, du hast dieses Tutorial abgeschlossen.
Es ist ein guter Einstieg für alle, die Scala lernen möchten.
Wenn du mehr lernen willst, schau dir die Scala-Tutorials von DataCamp an:
Basics of Functions and Methods in Scala
Es gibt noch eine Fülle an Scala-Themen – etwa if/else, for-Schleifen und verschiedene Operatoren –, die wir in kommenden Tutorials behandeln. Bleib dran!
Referenzen:
Stell gern deine Fragen zu diesem Tutorial unten in den Kommentaren.
