Scala – Die Reifeprüfung?

Claudia Fröhling

Ein Blogeintrag sorgt seit letzter Woche für Tumult in der Java-Community: Stephan Schmidt, Autor des Blogs Code Monkeyism ist sich nämlich sicher: Scala ist noch nicht reif für den produktiven Einsatz. Schmidt bezieht sich auf Version 2.8 (derzeit noch im RC-Stadium), ergänzt aber, dass er mit Scala schon länger seine Probleme habe.

Fünf Gründe gibt Schmidt an, warum Scala seiner Meinung nach noch unreif ist. Zum einen seien die Scala-Entwickler noch zu sehr an der Forschung und dem Schreiben von Abhandlungen interessiert, als die Sprache für den produktiven Einsatz fit zu machen. Außerdem lege man bei der Entwicklung von Scala viel zu wenig wert auf die Binary-Kompatibilität.

Things are changed on a whim – from one RC to the next, and they change major parts of the language/libraries in point releases. (Stephan Schmidt)

Klassen würden entfernt oder neu hinzugefügt werden ohne richtige Planung. Und die Änderungen an Scala 2.8 seien so groß, dass man die Version eher 3.0 benennen sollte. Und zu guter letzt:

The community loves cutting edge. Instead of fixing bugs they upgrade to all new released RCs – so have you. It’s called cutting edge for a reason: You’ll cut yourself. And it’s called bleeding edge because you will bleed. (Stephan Schmidt)

Trotz allem wolle Schmidt aber bei Scala bleiben, schreibt er. Für ihn gäbe es keine Alternative: er würde gerne C# nutzen, wenn es nicht von Microsoft wäre oder Clojure mit Static Types.

Der Blogeintrag hat natürlich eine ganze Reihe von Reaktionen hervorgerufen, zuerst in Form von Kommentaren zum Blogeintrag, inzwischen auch durch neue Texte anderer Blogger. Ein Beispiel ist der US-Amerikaner James Iry mit seinem Blog One Div Zero. Er wirft Schmidt vor allem Verallgemeinerung vor.

Natürlich habe Scala eine akademische Seite, so Iry, aber:

But real development is very much a goal of Scala. If it weren’t then Java interoperability would be ditched yesterday. Java interop is a giant albatross around Scala’s theoretical neck. (James Iry)

Dass Scala 2.8 eigentlich Scala 3.0 heißen müsse, sieht Iry aber genauso:

Scala’s binary compatibility sucks due to a real technical challenge interoperating efficiently with the JVM. The 2.8 series is really 3.0. Deprecation could be done better. One library that Schmidt used decided to fix a bug and compile against a beta version of Scala. Schmidt jumped into the beta version. A small bit of versioning hell ensued. From this Schmidt concluded that the Scala development team do not care and that Scala is unfit for development. (James Iry)

Geschrieben von
Claudia Fröhling
Kommentare

Schreibe einen Kommentar

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