JAXenter.de

Das Portal für Java, Architektur, Cloud & Agile
X

Heute im W-JAX Countdown: Mike Wiesner über Spring vs. Java EE

Der Fall Scala: Weshalb sollte man Scala verteidigen?

Es ist immer wieder erfrischend zu sehen, wie sich hinter der vermeintlich spröden Fassade nüchterner IT-Technologie der Abgrund menschlicher Emotionen auftut. Da wird verbal hochgerüstet, wenn es um die Verteidigung eines liebgewonnenen Tools geht – Eclipse, IntelliJ, NetBeans? Da geht es heiß her, wenn überzeugte Evangelisten sich für die Verbreitung „ihrer“ Lösung einsetzen - Spring versus Java EE, OSGi versus Jigsaw,  DSLs versus ULM. Und da werden mal mehr, mal öfter aber weniger sachliche Argumente ausgetauscht, wenn es um die Hoheit der präferierten Programmiersprache geht – Java, JavaScript, PHP, Dart, Go, C#, Clojure, Groovy, Scala.

Eigentlich müsste man die Methode des Soziologen Pierre Bourdieu, der in „Die feinen Unterschiede“ so treffend beschrieben hatte, wie scheinbar genuin persönliche Eigenschaften wie Gestik, Aussprache, Kunstgeschmack, Essgewohnheiten oder Musikkonsum der Abgrenzung von anderen sozialen Gruppen dienen, einmal auf die IT anwenden. Die Wetten stehen gut, dass sich hinter vielen der ins Feld geführten „objektiven“ Argumente für den Einsatz einer Technologie „subjektive“, oft dünkelhafte Abgrenzungsversuche verbergen. Und von daher erklärt sich dann auch so mancher Vergriff in der Tonlage, so mancher Verriss einer Konkurrenztechnologie, so mancher „Hate-Post“ gegen Scala.

10 Jahre ist Scala nun gerade alt geworden – und in dieser Zeit hat sich die Programmiersprache von Martin Odersky zu einer der wichtigsten JVM-Sprachen hinter Java entwickelt – wohl gemeinsam mit Groovy und Clojure. Der Erfolg von Scala ist bemerkenswert, und weiter steigt die Anzahl der produktiv in der Industrie eingesetzten Scala-Projekte.

Erinnern Sie sich noch?

Die Euphorie um Scala war in den ersten Jahren groß – endlich kehrte Innovation in die JVM-Plattform zurück! Scala, eine Sprache, um die uns Java-Leute Anhänger anderer Plattformen beneideten (sagt man nicht, dass die PHP Traits von Scala inspiriert wurden?). Mitten im Scala Hype meldeten sich auch Kritiker zu Wort, die vor allem die oft gebrochene Abwärtskompatibilität und das weniger überzeugende Tooling ansprachen – sicherlich berechtigte Punkte, um die es heute weitaus besser bestellt ist. Emotional wurde die Debatte um Scala indes spätestens 2011, als Stephen Colebourne den Scala-Rückzug des Anbieters sozialer Enterprise-Netzwerke Yammer ausschlachtete, um eine regelrechte Anti-Scala-Kampagne zu fahren.

Seither wiederholen sich die Pro- und Contra-Blogposts in Sachen Scala in regelmäßigen Abständen. Hatte jüngst Bozhidar Bozhanov in seinem „I Don't Like Scala“ die steile Lernkurve, kryptische Syntax, langsame Kompilierung und das Fehlen von Best Practices angemahnt, so eilt nun Nikita Ivanov (GridGrain) mit „In Defense of Scala“ zur Hilfe. Seiner Meinung nach haben die schlechte Qualität des SBT-Buildtools und des Scalaz-Frameworks zu den negativen Erfahrungswerten vieler Scala-Neulinge beigetragen. Auch das Spary.io-Projekt zeuge nicht von guter Ingenieurskunst, wie man es sonst bei Scala selbst und bei Projekten wie ScalaTest, Akka und Shapeless gewohnt sei.

Zur Verteidigung Scalas

Nun überzeugt diese „Verteidigung“ aber nicht wirklich, da sie die angeblich „schlechte Stimmung gegen Scala“ auf relativ unbedeutende Seitenprojekte schiebt und auch sonst gar nicht auf Bozhanovs Punkte eingeht. Die eigentliche Frage beantwortet Ivanov in seinem Folgepost „In Defense of Scala, part 2“ indes treffend: Ein Kommentator hatte nämlich angemerkt: Braucht Scala überhaupt eine Verteidigung? Nein, sagt Ivanov. Scala braucht keine Verteidigung! Scala ist nach wie vor eine brilliante Technologie, die für sich spricht, und eine der größten Bereicherungen der JVM seit Jahren.

Und wahrscheinlich ist das Erstaunliche nicht wirklich die Anzahl an kritischen Blogposts zu Scala – andere neue Sprachen haben mit ähnlichen Phänomenen zu kämpfen, siehe Language criticism von Clojure-Vertreter Alex Miller. Man wundert sich als neutraler Beobachter eher darüber, dass sich Scala-Freunde immer wieder zu Verteidigungsreden aufgerufen fühlen, für die eigentlich keinerlei Anlass besteht.

Scala 2014+

Scala hat die Zeit des Hypes hinter sich gelassen und sich mit dem Typesafe-Stack professionalisiert. Im Technology Radar von ThoughtWorks befindet sich Scala mittlerweile in der höchsten Kategorie "Adopt". Scalas Kultur-Profil liegt nicht bei einer Allerweltssprache als Ersatz für Java, sondern bei einer hoch-skalierbaren Sprache als Ergänzung des Java-Technologie-Stacks. So zumindest hatte Spring-Gründer Rod Johnson, der seit 2012 ja im Board of Directos des Scala-Unternehmens Typesafe sitzt, Scala auf den letztjährigen Scala Days charakterisiert.

In 5 Jahren werde Scala seine Nische gefunden haben und vor allem in traditionellen Enterprise-Apps, oft in Verbindung mit Java, sowie in hochperformanten Consumer-Apps à la Twitter verwendet werden. Eine mit Java vergleichbare, millionenfache Verbreitung werde Scala indes nicht finden.

Als Rezept für den Erfolg von Scala sah Johnson allerdings schon, sich nun mehr dem Mainstream anzunähern, sich stärker in das Java-Ökosystem zu integrieren und auch die Innovationsgeschwindigkeit in Sachen neuer semantischer Erweiterungen zu drosseln - zugunsten von Abwärtskompatibilität, Compiler-Verbesserungen und Tooling-Ausbau. Mehr Pragmatismus, ein größerer Fokus auf Real-World-Probleme und eine einladendere Haltung Scala-Newbies gegenüber seien gefragt. 

An diesen Stellschrauben sind die Scala-Anhänger aufgerufen nachzujustieren, um die breitere Community technologisch wie emotional zu überzeugen. Flammende Verteidigungsreden sind dafür nicht nötig.

Kommentare

Ihr Kommentar zum Thema

Als Gast kommentieren:

Gastkommentare werden nach redaktioneller Prüfung freigegeben (bitte Policy beachten).