Stand: 23. Februar 2011
Einstieg
Nachdem Scala installiert und die ersten "Hello world!" Schritte gemacht sind, wollen wir uns in diesem Kapitel den ersten Eindrücken zur Programmiersprache Scala widmen. Der Schwerpunkt liegt hierbei auf den grundlegenden Unterschieden zur Programmiersprache Java. Auch Java Experten werden erkennen, dass alternative Lösungen einfacher und schneller zum Ziel führen können.
Nachfolgend nochmals das "Hello world!" Programm, an dem wir unsere Betrachtungen beginnen wollen:
object HelloWorld { def main(args: Array[String]){ println("Hello world!") } }
Das (fehlende) Semikolon
Sehen wir uns das "Hello world!" Programm etwas genauer an, stellen wir fest, dass im gesamten Quelltext keine Semikolon vorhanden sind. Wird eine Anweisung mit einem Zeilenumbruch abgeschlossen, ist ein Semikolon in den meisten Fällen optional.
Im Falle, dass wir zwei Anweisungen in einer Zeile angeben wollen, ist die Trennung der Anweisungen mit einem Semikolon zwingend. Ein Beispiel hierfür ist die Definition zweier Variablen in einer Zeile:
var value1 = 123; var value2 = 234
class / object
Ein erster näherer Blick auf den Quelltext von "Hello world!"
zeigt, dass der Quelltext mit dem
Schlüsselwort
object
eingeleitet wird. Wie in Java werden "normale" Klassen auch in Scala
mit class
eingeleitet. Beginnt in Scala eine Definition mit 'object' anstatt mit 'class', handelt es sich um ein
Singleton.
Weitere Informationen zur Klassendefinition mit object
finden
wir im Kapitel Klassen und Objekte.
Die main
Methode
Was als Erstes an der main
Methode des "Hello world!"
auffällt ist die Einleitung. Eine Methode wird in Scala mit dem Schlüsselwort
def
eingeleitet. Weiterhin fällt auf, dass in der Methodendefinition
kein Gültigkeitsbereich angegeben ist. Scala bietet die Sichtbarkeitsmodifizierer
private
und protected
aber
kein Modifizierer public
. Fehlt jegliche Angabe
eines Sichtbarkeitsmodifizierers, ist die Sichtbarkeit in Scala
"public"
(von außen überall anzusprechen),
welches dem Standard in Scala entspricht.
Ein weiterer Unterschied stellt die Angabe von Variablen in der Parameterliste dar.
In Scala wird zunächst der Name der Variable gefolgt von Doppelpunkt und
Typenangabe angegeben. Die Variable args
ist ein generisches Array vom
Typ String
. Generische Typenangaben werden in Scala mit eckigen Klammern
gekennzeichnet, wobei Java spitze Klammern verwendet werden.