Scala ist eine statisch typisierte Scriptsprache die im Interpreter(scala) ausgeführt werden kann. Man kann es aber auch als Java Bytecode compilieren lassen(scalac).
Für dieses Tutorial verwenden wir fürs erste nur den Interpreter. Der Interpreter kann später dazu verwenden werden um Syntaxelemente 'live' auszuprobieren.
In diesem Tutorial wird davon ausgegangen das der Leser Grundkenntnisse im Programmieren hat.
Eine Installationsanleitung für Windows gibt es hier: http://www.scala-lang.org/node/310
Unter Unix braucht man zur das TGZ zu entpacken und SCALA_HOME auf das Installationsverzeichnis zu setzen. Wer möchte kann den Pfad noch anpassen damit man nicht immer den Pfad zu den Ausführbaren im $SCALA_HOME/bin angeben muss.
Fertig.
Wer keine Scala installieren will, es aber trotzdem ausprobieren will dem sei http://www.simplyscala.com/ ans Herz gelegt. Hier kann man im Browser Scala Programme eingeben und ausführen lassen. Auch die Tutorials auf dieser Seite sind zu empfehlen.
Als erstes rufen wie im Terminal scala auf. Als erstes werden wir mit ein paar Systeminformationen begrüßt:
Welcome to Scala version 2.7.7.final (OpenJDK Client VM, Java 1.6.0_0). Type in expressions to have them evaluated. Type :help for more information. scala>|
erscheint bei einer Installation unter Ubuntu 9.10 mit dem OpenJDK.
Als erstes fällt die letzte Zeile ins Auge. Der Prompt. Hier kann man seine Scala Befehle eingeben und mit Enter ausführen lassen.
Kommen wir nun zu unserem ersten Befehl:
scala> println("Hallo Welt!")
Hallo Welt!
Das obligatorische Hallo Welt! Programm. Hier passiert nichts interessantes außer, dass ein Hallo Welt! auf der Kommandozeile ausgegeben wird.
Interessanter ist das schon die Möglichkeit Scala als Taschenrechner zu verwenden:
scala> 1 + 1
res1: Int = 2
Das Ergebnis stimmt. Es gibt aber noch mehr interessantes in der Ausgabe. Zum einen merkt sich der Interpreter jedes Ergebnis und weist im einen Namen zu(res1 in unserem Beispiel).
Zum Anderen kann man den Typ des Ergebnisses sehen(In diesem Fall Int).
Diese Ergebnis kann weiter verwendet werden:
scala> res1 + 2
res2: Int = 4
Zuweisungen an solche Werte sind nicht möglich. Doch mehr dazu im Abschnitt 10_Val_Var.