Was sind die Nachteile von Scala?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Die Erfahrungen mit Scala sind überwiegend positiv

zum Background,

  • habe vor 15 Jahren PHP entwickelt,
  • seit über 10 Jahren Java
  • und seit über einem Jahr jetzt Scala

die Sprache an sich ist sehr gelungen, es macht Spaß mit ihr zu arbeiten, im Vergleich zu anderen Sprachen wie PHP und Java bietet die Sprache selber Lösungen für Standardprobleme.

beim schreiben von Code bist du daher schneller, weil du einfach viel weniger tippen musst.

ein paar dieser Lösungen sind:

  • Null Pointer, hierfür gibt es option um lästige null checks zu vermeiden
  • Exceptions workflow, hierfür gibt es Either was ein Entweder oder Return value darstellt
  • parallele Verarbeitung, die Scala Futures sind weit mächtiger als in Java und passen sich wunderbar in die gesamte Sprache ein (z.b. in For Comprehensions )
  • gemixte Maps, hierfür gibt es in Scala Touples um eine definierte Anzahl unterschiedlicher Objekte typesicher zu verwalten

etwas worauf man achten muss sind:

  • implicits, hier sollte man sehr sparsam mit umgehen da zu viele den Code unwartbar und unlesbar machen
  • scalaZ, scalaZ sollte man möglichst selten verwenden, oder gar nicht, und wenn mit Type Aliases versehen, um den Code lesbarer zu machen, nicht jeder kennt alle Arithmetischen Symbole

ansonsten hat Scala eben den Vorteil das es auf der JVM läuft, somit halt auch auf sehr vielen System verfügbar ist etc. (z.b. auch auf Google App Engine, und Android )

dank der gelungenen Unterstützung von Futures, ist eine zeitgemäße Programmierung schnell und einfach möglich, empfehlenswert ist hierbei auch einen Blick auf Akka zu werfen.

Der Mix aus Objektorientiert und Funktional ist gelungen, macht Spaß und erleichtert viele Lösungen ungemein.

sprich man schreibt bei heutigen Anwendungen in Scala einfach weniger daher auch schneller und im Ergebnis besseren Code

viel Spaß auf jeden Fall

Ich kenne PHP nicht.

Also: wenn man ein Scala Programm interpretiert laufen lasst, dann wird es langsam beginnen.

Gegenüber Java muss die Main Methode in einem Objekt statt Klasse sein.

Es gibt kein static; was static sein musste, gehört in einem Objekt, das nach der Klasse genannt werden muss.

Konstruktoren werden this genannt.

Man kann einen var nicht mit einer Methode overriden.

Warum so negativ? Nur weil eine Programmiersprache nicht mindestens 20 Jahre alt ist, heißt das ja nicht, dass sie schlecht ist.

Jeder Entwickler einer Programmiersprache will ja die „Welt verbessern“ … Manches wird wirklich besser und anderes gelingt nicht so optimal. Deine Erfahrungen mußt du in diesem Zusammenhang selbst machen. Selbst wenn hier tausende Scala-Programmierer hier ihre Erfahrungen erzählen würden, sind dies noch immer nicht DEINE Erfahrungen …

http://de.wikipedia.org/wiki/Scala_%28Programmiersprache%29

Was möchtest Du wissen?