Scala-Erfinder Martin Odersky zum Vorwurf: "Scala ist zu komplex"

Hartmut Schlosser

Ist Scala zu komplex für den durchschnittlichen Entwickler?

Diskussionen darüber, ob die Mächtigkeit der derzeit viel zitierten Scala-Sprache nicht auf Kosten einer steilen Lernkurve gehe, werden in Entwicklerblogs kontrovers geführt ([1], [2], [3], [4]).

Scala-Erfinder Martin Odersky hat sich nun persönlich zu Wort gemeldet und hält – wie sollte es auch anders sein – ein Plädoyer für die Einfachheit und Eleganz von Scala.

Drei bildhafte Vergleiche stellt Odersky in seinem Blogeintrag an.

Im Vergleich zu anderen Sprachen sei Scala eher wie ein Smartphone, weniger wie ein Morsegerät. Scalas Compiler und einige der Kernbibliotheken seien äußerst komplizierte Technologien. Dennoch sei Scala denkbar anwenderfreundlich und wirke für viele Entwickler befreiend.

Im Vergleich zu anderen Sprachen sei Scala eher wie ein Legospiel, weniger wie ein Playmobilset. Scala beinhalte eine überschaubare Menge an Konzepten (vergleichbar mit Haskell und OCaml, etwas weniger als Java 5, viel weniger als C# und C++). Diese Konzepte seien allerdings so allgemein und orthognal, dass sie auf vielfache Weise miteinander kombiniert werden könnten – flexibel wie Legosteine eben und nicht starr wie Playmobil-Figuren.

Doch Turing-vollständig sind doch die meisten Sprachen – beliebige Probleme lassen sich also mit allen Sprachen lösen!

Im Vergleich zu anderen Sprachen sei Scala aber eher wie ein Lego-Technik-Set, weniger wie die globigen Duplo-Legosteine. Scala führe zu kürzeren Lösungen als mit anderen Sprachen.

Bedeutet das nicht, dass Scala dann auch schwerer zu verstehen ist, da jede Scala-Codezeile doch mehr Arbeit verrichten muss?

Odersky verweist auf eine Studie der École Polytechnique Fédérale von Lausanne, die mittels eines Augen-Tracking-Systems empirisch nachgewiesen haben will, dass Scala-Programme im Allgemeinen schneller erfasst werden als Programme in anderen Sprachen.

Odersky schließt mit der Bemerkung, dass die Debatte „Einfachheit vs. Komplexität“ selbst nicht so simpel ist.

There are many dimensions to simplicity and complexity. Often, in a discussion each participant has a different notion of what they mean. Martin Odersky

Geschrieben von
Hartmut Schlosser
Kommentare

Schreibe einen Kommentar

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