Bis einer weint: Ist Scala der Prügelknabe der Nation?

Claudia Fröhling
©Shutterstock.com/ollyy

Was wäre unsere geliebte Java-Community ohne gelegentliche kleine Aufreger? Es wird in der Tat nie langweilig, und auch der aktuelle Fall lädt zu reichlich Diskussion ein. Pünktlich zum 1. Advent hatte Giles Alexander von ThoughtWorks einen viel beachteten Blogpost zu Scala verfasst: „Scala – 1 Star Would Not Program Again“. Damit ist er wahrlich nicht der erste, der auf diese Idee kommt.

Giles Alexander greift Scala in seinem Blogpost von mehreren Seiten an:

  • Die Compile-Zeit sei zu lange
  • Scala sei eine unzugängliche Sprache
  • Komplizierte Syntax
  • Local Type Inference und mehr…

Alexander konkludiert fatalistisch: „for the love of all that you find sacred, don’t use it in production.“

Interessant ist jetzt im Nachgang, dass nicht so sehr die Argumente unter die Lupe genommen und widerlegt werden, sondern dass sich Scala-Begründer Martin Odersky die Sinnfrage stellt, warum ausgerechnet „seine“ Sprache immer Zielscheibe dieser Rants wird. So geschehen einen Tag nach Alexanders Blogpost in der Scala Mailing-Liste. Odersky sieht kaum noch eine Woche verstreichen, in der keine Kritik an Scala geäußert wird. Besonders erstaunt ist er aber darüber, dass diese negativ konnotierten Blogposts auf Reddit und Hackernews so viele Upvotes erhalten.

Zeit für Selbstreflexion

Grund genug für Martin, die Ursache dafür zu suchen. In jeder Programmiersprache fänden sich leicht Kritikpunkte, warum attackieren alle immer Scala? Dabei will er auch einige der Kritikpunkte von Giles Alexander relativieren, wie beispielsweise die Compile-Zeit. In Scala 2.11 werde es signifikante Verbesserungen der Compile-Zeiten geben, so Martin.

Für die Zukunft müsse man sich auf die Fahnen schreiben, die Einfachheit von Scala mehr herauszuarbeiten, deutlicher zu zeigen, wie guter Scala-Code aussehen müssen und an der Community arbeiten.

The Price of Success?

Kommen wir zurück zu Martins Ursprungsfrage: Wenn es stimmt, dass Scala stärker kritisiert wird als z. B. Ruby, Groovy oder Clojure – woran kann es liegen? Ist es vielleicht einfach nur Beweis für die Popularität von Scala, was unterm Strich als Erfolg zu verbuchen ist? Der Kommentator Simon Ochsenreither ist sich da sicher: „It’s the price of success.“ Je stärker die Verbreitung einer Sprache, desto bedrohter fühlen sich die angrenzenden Communities, die ihren eigenen Einfluss schwinden sehen. Davon ist auch Martin selbst überzeugt: „Kotlin wird nicht kritisiert, weil es keine Gefahr für andere Communities darstellt“ schreibt er selbst in der Mailingliste.

Kritik ernst nehmen

Vielleicht steckt in all den Blogposts ja auch ein Fünkchen Wahrheit, das sich Martin Odersky bzw. Typesafe zu Herzen nehmen sollte. In der Mailingliste gibt es viele konstruktive Änderungsvorschläge. Beispielsweise die Frage nach der Dokumentation. Es sei schwer, zu speziellen Scala-Themen schnell und einfach online Hilfe zu finden, kommentiert ein Scala-Entwickler. Odersky gibt ihm recht, es sei schwer, die richtigen Leute für eine gute Dokumentation zu finden. Und wer sollte das bezahlen, fragt er? Vielleicht wäre Typesafe hier der erste Anlaufpunkt für Budget-Fragen.

Scala, die Laborratte?

Odersky erwähnt selbst in seinem ursprünglichen Beitrag, dass Scala keine traditionelle Community habe, dass Scala der „tribal factor“ fehle. Vielleicht liegt auch hier der Hund begraben. Scala kommt von seinem Ursprung her aus der universitären Welt, ist sozusagen ein „Laborprodukt“ der EPF (École polytechnique fédéral) in Lausanne, an der Martin Odersky seit Ende der Neunziger mit der Sprache experimentierte. Damit zusammen hängt eventuell auch die oft kritisierte steile Lernkurve von Scala. Ein Kommentator in der Mailingliste bemerkt, dass eine Sprache wie Go im Netz so viele Erfolge feiert, weil sie auf den ersten Blick so einfach zu verstehen ist.

Get over it!

Oder es es am Ende doch alles nicht so schlimm, wie es scheint. Martin Odersky ist auf jeden Fall ein Community-Leader, der sich ungewöhnlich viele Gedanken um diese Dinge macht. Erst vor ein paar Monaten hatten wir von den Diskussionen rund um den TIOBE-Index berichtet. Groovy war in der Oktober-Ausgabe des Index als Shooting Start gefeiert worden. Daraufhin twitterte Odersky eine Pastebin-Datei, die sich über die Kriterien TIOBEs bei der Datenerfassung mokiert. Der anonyme Verfasser – ob es sich um Odersky selbst handelt, ist unklar  – recherchierte eigenständig die Einträge zu Groovy, Scala und Clojure in Suchmaschinen, die auch TIOBE konsultiert, und zwar  mit denselben Suchbegriffen. Ob Google, Bing, Amazon oder Stackoverflow: Überall ist die Trefferquote für Scala höher als für Groovy oder Clojure. Sein Fazit: „Diese Quellen werden von TIOBE scheinbar nicht richtig berücksichtigt“.

Oder erlebt vielleicht jede Programmiersprache diese Kritik, und nur die Scala-Welt hat das Gefühl, dass sie am härtesten getroffen wird? Ceylon-Entwicker Stéphane Épardaud ist davon überzeugt: „Other languages get the same fanatical reactions for the same valid reasons. … the first wave of trolls that bashed on Ceylon were advocating Scala, but not in a reasoned, reasonable way…“

Fazit

So ärgerlich Kritik und insbesondere unzulässige Kritik auch sein möge: Jede Community, ob Scala, Ceylon oder Groovy, sollte jedes Feedback ernst nehmen und in den Diskurs um die Weiterentwicklung der Sprache und des Ökosystems aufnehmen. Und immer dran denken: Don’t feed the trolls. Keep calm and code on.

Aufmacherbild: Teenage Fight von Shutterstock / Urheberrecht: ollyy

Geschrieben von
Claudia Fröhling
Claudia Fröhling
Claudia Fröhling hat in verschiedenen Redaktionen als TV- und Onlineredakteurin gearbeitet, bevor sie 2008 zur Software & Support Media GmbH kam und sich bis 2014 um alle Projekte des Verlages im Ressort Java kümmerte. Claudia hat einen Abschluss in Politikwissenschaften und Multimedia Producing. Ihr Google+ Profil findest du hier.
Kommentare
  1. predef2013-12-04 10:52:10

    Der Pastebin Eintrag ist nicht von Martin Odersky. Im übrigen kann jeder selbst die Treffer in den einschlägigen Suchmaschinen überprüfen. Ein TIOBE Ingenieur hat sich dann dahingehend geäußert, dass ein "Fehler" bei der Abfrage einiger asiatischer Suchmaschinen aufgetreten war, die in den Mix eingeht.

  2. John Doe2013-12-06 08:39:00

    Mitleid bekommt man geschenkt, Neid muss man sich verdienen. Java 8 wird zeigen, dass Scala auf dem richtigen Weg (und meilenweit voraus) ist.

    Weiter so Martin!!!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.