Scala Scala 2.10 RC

Wenn ich mir die neuen Features von Scala anschaue, finde ich dass man zu weit geht, was Kern der Sprache sein soll.

Value Classes finde ich zum Beispiel etwas, dass man so nicht braucht und mir fällt sofort ein ein Beispiel ein, das zwar ein Value-Type ist, aber der folgender Regel nicht entspricht:

C must have exactly one parameter, which is marked with val and which has public accessibility. The type of that parameter (e.g. U above) is called the underlying type of
(docs.scala-lang.org/sips/pending/value-classes.html)

Geld hat für mich 2 Parameter und zwar den Wert und eine Währung und trotzdem ist Geld ein Value-Type. Eine Sprache muss nicht selbst alles abbilden können, sie muss Mittel bieten um alle Dinge abbilden zu können.

Das Gefühl, was Sprache sein sollte, Kern-API oder zusätzliche Bibliothek verlieren die Scala-Entwickler meiner Meinung nach. Dadurch wird Scala immer mehr zur akademischen Sprache und weniger zum erstzunehmenden Java-Nachfolger. Vor 2 Jahre dachte ich Scala hätte Potenzial in der Industrie angenommen zu werden, mittlerweile bin ich da nicht mehr so zuversichtlich, und das finde ich schade.
 
Ich denke, du urteilst hier ein wenig vorschnell. Wie immer gilt, dass man nichts verwenden muss, was man nicht wirklich braucht.

Die einzelnen Features sind aus Anwendungsfällen "aus dem richtigen Leben" hervorgegangen, und wurden in der Nutzergruppe intensiv diskutiert. Einige stellen Generalisierungen des jetzigen Typsystems dar, und einige Ecken und Kanten werden sicher später noch geglättet.

Der Vorwurf, Scala sei "akademisch", ist so alt wie die Sprache selbst, hat sich aber nie so richtig bewahrheitet.
 
Geld hat für mich 2 Parameter und zwar den Wert und eine Währung und trotzdem ist Geld ein Value-Type. Eine Sprache muss nicht selbst alles abbilden können, sie muss Mittel bieten um alle Dinge abbilden zu können.
Es gibt ja noch das Typsystem über das zusätzliche Informationen modelliert werden können. Wobei ich mit der momentanen Umsetzung von Value-Typen in Scala auch nicht sonderlich zufrieden bin.

Das Gefühl, was Sprache sein sollte, Kern-API oder zusätzliche Bibliothek verlieren die Scala-Entwickler meiner Meinung nach.
Value-Typen lassen sich schlecht über eine Bibliothek modellieren. Vllt. wären Annotations eine Alternative gewesen, wobei die auch nicht generalisiert und somit nur über Compiler-Magic statt mit Sprachfeatures zu realisieren sind. Meine Hoffnungen beruhen mehr auf Makros, mit denen es irgendwann vllt. möglich ist viele Dinge zu generalisieren.
 

Zurück
Oben