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!")
   }
 }
itmapa.de - X2H V 0.24



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
itmapa.de - X2H V 0.24



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.