The power of Scala
Seit einiger Zeit beschäftige ich mich in meiner Freizeit mit der nocht recht jungen Programmiersprache Scala, eine unglaublich flexible und mächtige Sprache, die geschickt funktionale und objekt-orientierte Paradigmen vermischt. Wer abseits des normalem OOP-Paradigma etwas neues lernen will, sollte sich diese Sprache auf jeden Fall genauer anschauen.
Übrigens wird Scala nach Java Bytecode kompiliert und ist somit praktisch kompatibel und gemeinsam einsetzbar mit allen bestehenden Java-Systemen. Ein Compiler für die Common Language Runtime ist auch in der Entwicklung, der Support für Java ist aber wesentlich besser.
Beim Lesen des Buchs “Programming in Scala” (welches übrigens ausgezeichnet geschrieben ist) sind mir erstmals die Unterschiede zwischen den Programmierparadigmen wirklich klar geworden. Umso interessanter ist es dann nach und nach zu sehen wie Scala beides fusioniert und dabei etwas neues schafft. Das erstaunlichste an Scala ist aber wie man selber zu einem Sprach-Kreatonist werden kann! Die Programmiersprache ist in ihrem Kern recht einfach, aber dennoch so flexibel, dass jeder die Sprache erweitern kann, um sie an die entsprechenden Bedürfnisse anzupassen.
Das beste Beispiel ist die Actors-Bibliothek zur Abstraktion der parallelen Ausführung von Programmcode. Eine Idee – ursprünglich aus der Sprache Erlang – die es mittlerweile fast in jede Sprache geschafft hat als ein normales Framework. Scala geht weiter und integriert nicht nur Funktionalität, sondern auch Syntax aus Erlang und schafft somit eine ganz natürliche Integration – so als wäre das Programmieren mit Actors schon immer Bestandteil der Sprache.
Ein paar schöne Code-Beispiele zu Actors-Bibliothek befinden sich direkt hier.
Im nächsten Beitrag werde ich demonstrieren wie man das nützliche in C# bekannte using-Konstrukt nachbaut, um Streams etc. automatisch zu schließen.
Die Entscheidung war schnell getroffen, denn die schicke