Interview mit dem Entwickler von Scala

"Ich wollte dieses Dogma durchbrechen"

Uhr | Aktualisiert

Martin Odersky, Professor für Programmiermethoden an der ETH Lausanne und Erfinder der Programmiersprache Scala, spricht darüber, warum er Scala entwickelt hat und was dies für die Community bedeutet.

Martin Odersky, Entwickler von Scala.
Martin Odersky, Entwickler von Scala.

Herr Odersky, wie kamen Sie dazu, Scala zu entwickeln?

Es gab früher ein Dogma, das besagte, dass man objektorientierte und funktionale Sprachen nicht miteinander verbinden kann. Mit der Entwicklung von Scala wollte ich heraus- finden, ob sich dieses Dogma durchbrechen lässt und ob dabei etwas Nützliches heraus- kommt. Es gibt im Prinzip hunderte von Programmiersprachen, die erfunden und im kleinen Rahmen genutzt werden. Aber diese Sprachen leben meist nicht lange. Daher haben wir Scala mit Open Source öffentlich zugänglich gemacht und wurden regelrecht überrannt. So etwas kann man weder planen noch voraussagen. Also haben wir entschieden, dass wir diese Entwicklung unterstützen müssen.

Wie haben Sie das gemacht?

Wir führten in einem ersten Schritt eine disziplinierte Upgrade-Politik ein, behoben Fehler und bauten Erweiterungen ein, um die Soft- ware aktiv zu unterstützen. Danach begannen wir, regelmässig Releases herauszugeben und entwickelten die Sprache weiter. Das war eine Aufgabe, in die wir mit unserem Team an der EPFL erst reinwachsen mussten. Da das Ganze sehr zeitaufwendig ist, entschieden wir uns an einem bestimmten Punkt, es professionell zu machen und gründeten das Unternehmen Typesafe. Die Personen an der Uni hören ja irgendwann auf, es gibt also immer wieder einen Generationenwechsel.

Wie viele Entwickler nutzen derzeit Scala?

Das ist schwierig zu sagen. Aber die verfügbaren Onlinekurse auf Coursera haben zusammen über 200'000 Anmeldungen erhalten. Das zeigt uns eine ungefähre Grössenordnung.

Und wofür wird Scala eingesetzt?

Scala kann man überall einsetzen. Wir sehen viele Anwendungen im E-Commerce-Umfeld. Twitter basiert auf Scala und ist damit ein Paradebeispiel eines Unternehmens, das diese Sprache nutzt. Aber auch Onlinemedien oder der Finanzsektor nutzen Scala, beispielsweise die «Huffington Post», die «New York Times» oder verschiedene Trading-Plattformen.

Was fasziniert Sie an der Softwareentwicklung?

Es ist ein sehr kreativer Prozess, der einerseits eine grosse Freiheit ermöglicht und andererseits eine grosse Abstraktion erfordert. Man bewegt sich in einem sehr strikten Rahmen, was die Qualität betrifft. Darüber kann man nicht einfach hinweggehen, sonst reklamiert der Computer. Ich sehe daher auch viele Parallelen in der Architektur und in der Softwareentwicklung. Man spricht ja nicht umsonst von Softwarearchitektur.

Wie würden Sie einen Java-Entwickler zum Umstieg auf Scala bewegen?

Grundsätzlich würde ich das gar nicht versuchen, schliesslich soll jeder in derjenigen Sprache programmieren, die ihm gefällt. Aber wenn, würde ich ihm sagen, dass er alles behalten kann, wenn er auf Scala umsteigt. So läuft Scala beispielsweise auf der Java Virtual Machine. Vorteile sind, dass der Code kürzer ist, sprich, man kann Dinge weniger umständlich ausdrücken. Die Produktivität nimmt dadurch zu, man hat mehr Funktionalität und robusteren Code. Java 8 beispielsweise hat relativ viele Dinge von Scala übernommen. Letztlich gibt es immer eine Synthese von dem, was war und dem, was neu ist.

Programmieren Sie selbst mit Scala?

Ja, jeden Tag. Ich programmiere mit nichts anderem, seit ich Scala entwickelt habe.

Wie werden Sprachen wie Scala die Softwareentwicklung verändern?

Ich sehe im Moment, dass die Softwareindustrie in einem Paradigmenwechsel steckt, weil vermehrt funktionale Programmierung eingeführt wird. Das ist ein wenig wie in den 80er-Jahren, als man die objektorientierte Programmierung einführte. Scala ist hier die typische Brückensprache: Es unterstützt funktionale Programmierung, aber kombiniert sie mit den klassischen objektorientierten Methoden.

Wie geht es nun mit Scala weiter?

Scala wird behutsam weiterentwickelt, vor allem im Hinblick darauf die Sprache für noch mehr Programmierer einfach benutzbar zu machen. Mein persönlicher Forschungs-Schwerpunkt ist zurzeit, die Fundamente von Scala weiterzuentwickeln, um diese neue Kombination von funktionaler und objektorientierter Programmierung auf ein sicheres Fundament zu stellen.

Tags