Scala Scala-Kritik

S

SlaterB

Gast
> Wenn ihr

also ich habe auf ein 6 Min. altes Posting reagiert, bitte Vorwurf einschränken auf eine Person ;)
(wird langsam wirklich zur Plauderecke hier)
 

Java-Pelé

Mitglied
Ich melde mich mal nach langer Zeit wieder zu Wort. Ich habe Erfahrung in vielen Programmiersprachen und Paradigmen. Ich kannte Basic, Pascal, C/C++, Java, Lisp, Python und habe mich dennoch mit Scala, Clojure und Groovy beschäftigt. Mein Geld verdiene ich im Java-Umfeld.

Obwohl ich sehr gute Erfahrungen mit Python gemacht habe, hielt ich Scala für einen sehr guten Ansatz, da ich ein Faible für strenge Typisierung habe. Nur empfand ich Scala selbst bei kleinen Aufgaben recht anstengend. Syntax muss intuitiv sein, ich empfinde sie bei Scala aber nicht intuitiv. Ständig ist man am nachbessern und versteht eigentlich nicht, warum der Scala-Compiler so komisch reagiert. Das konnte aber auch an mir liegen, nur gebe ich zu bedenken, dass ich schon viele verschiedene Programmiersprachen und Paradigmen kannte und auch hartnäckig bin, wenn ich etwas neues lerne.

Groovy verwende ich schon seit einigen Jahren für kleinere Sachen. Zu Jahresbeginn aber habe ich eine DSL in Groovy geschrieben und bin hellauf begeistert und Groovy bringt vieles mit, was ich mir eigentlich immer schon gewünscht habe, z. B. die Memoized-Annotation (die ich mir schon zu Python-2-Zeiten mal programmiert habe, als Dekoratoren eingeführt wurden.), oder die Möglichkeit, Klassen als Immutable zu annotieren, was garantiert, dass höchstens ein Exemplar pro möglichen Objektzustand existiert.

Viele mögen das für esoterischen Kram halten, ist es aber nicht. Das sind genau die Dinge, die man braucht, um die Gesamtfunktionalität
einer Software zu gewährleisten. Ich habe Kollegen, die das alles für "syntactic sugar" halten. Es ist es nicht, es ist "semantic sugar". Wenn ich einfach nur eine Annotation irgendwo ranklatschen muss, dann ist das ästhetischer und wirkungsvoller. Wer eine Annotation entwickelt, um sich Programmierarbeit zu sparen, hat gezeigt, dass er ästhetisch denken kann. Kollegen von mir schreiben Java-Klassen mit über 3000 Zeilen und halten sich für gute Programmierer. Ich sehe es genau anders herum, denn wenn so viele Zeilen zusammenkommen, wurde etwas falsch gemacht. Ich komme dann häufig in die Verlegenheit, seinen Code zu patchen. Ich habe den Eindruck, dass er sich recht häufig wiederholt. Mir ist dabei immer sehr schummrig und mich ärgert's, wenn ich was vergessen habe, weil so viel gleiches an Code an vielen Stellen verborgen ist und man alles gar nicht überblicken kann. Ich starte die Software, nach wenigen Minuten kracht's, weil das DRY-Prinzip einfach nicht eingehalten wurde.

Ich merke auch immer wieder, dass viele Programmierer selbst die alten Konzepte aus der prozeduralen Programmierung (d.h. Funktionen, Prozeduren) zur Code-Reduktion nur unzureichend beherrschen. Ich kam mal in ein Katastrophen-Projekt. Ich habe da eine 3000 Zeilen lange Klasse gesehen, die nur so gespickt war, mit duplizierten Code. Einfache erste Maßnahmen von mir haben alleine da 20 % gespart. In einem anderen Projekt bin ich mal auf eine Testklasse gestoßen. Ich weiß nicht, was der Programmierer sich dabei gedacht hat, jedenfalls waren da ca. 30 Testmethoden und alle gleich, bis auf wenige Strings und Zahlen. Das sprang mir sofort ins Auge und habe einfach nur den Testrunner "Parameterized" verwendet, sodass das, was vorher dreißig Testmethoden à ca 40 Zeilen war, plötzlich auf ein DIN-A4-Blatt passte. Selbst ohne Kenntnis jenes Testrunners hätte man sehr viel reduzieren können.

Mit Jython beschäftige ich mich partout nicht. Ich kenne Python, ich kenne Java, nur das Problem ist, dass ich kein alten Python-Standard in Java haben will. Ich nutze seit über fünf Jahren Python 3.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Unterschied funktionial <-> OO anhand von Scala <-> Java JVM Sprachen: Kotlin, Scala, Groovy, Jython... 5
M Experten für Scala-Play- Programmierung gesucht!! JVM Sprachen: Kotlin, Scala, Groovy, Jython... 3
M Scala-Programm mit Netbeans compilieren JVM Sprachen: Kotlin, Scala, Groovy, Jython... 1
M Suche Scala Entwickler (Umsteiger [JAVA]) für Zusammenarbeit an privatem Projekt JVM Sprachen: Kotlin, Scala, Groovy, Jython... 7
R Frage zu Scala Code JVM Sprachen: Kotlin, Scala, Groovy, Jython... 2
Landei Scala Scala 2.10 RC JVM Sprachen: Kotlin, Scala, Groovy, Jython... 3
schlingel Scala Schulung - Gratis vom Scala-Schöpfer JVM Sprachen: Kotlin, Scala, Groovy, Jython... 2
Spin Scala Eclipse IDE JVM Sprachen: Kotlin, Scala, Groovy, Jython... 7
Spin Funktionen vs Methods in Scala JVM Sprachen: Kotlin, Scala, Groovy, Jython... 9
Landei Scala Freies eBook "Scala for the impatient" JVM Sprachen: Kotlin, Scala, Groovy, Jython... 2
Spin Arithmetik in Scala JVM Sprachen: Kotlin, Scala, Groovy, Jython... 32
0x7F800000 Numerik in Scala (Performance) JVM Sprachen: Kotlin, Scala, Groovy, Jython... 14
Spin Scala MenuListener JVM Sprachen: Kotlin, Scala, Groovy, Jython... 5
Spin Scala in Eclipse will nicht. JVM Sprachen: Kotlin, Scala, Groovy, Jython... 15
Landei Scala Deutsches Scala-Tutorial JVM Sprachen: Kotlin, Scala, Groovy, Jython... 3
B Scala oder Clojure JVM Sprachen: Kotlin, Scala, Groovy, Jython... 6
Landei Scala "Programming in Scala" - erste Ausgabe kostenlos JVM Sprachen: Kotlin, Scala, Groovy, Jython... 1
W Scala *.Scala to *.jar JVM Sprachen: Kotlin, Scala, Groovy, Jython... 6
H Scala und Aspekte JVM Sprachen: Kotlin, Scala, Groovy, Jython... 4
S Scala Klasse.class in Scala? JVM Sprachen: Kotlin, Scala, Groovy, Jython... 4
B Scala Scala und Netbeans GUI Editor JVM Sprachen: Kotlin, Scala, Groovy, Jython... 15
S Scala: Parser und Lexical JVM Sprachen: Kotlin, Scala, Groovy, Jython... 2
D Wie manche ich das in Scala JVM Sprachen: Kotlin, Scala, Groovy, Jython... 12
S Scala: Static - Konstruktor?? JVM Sprachen: Kotlin, Scala, Groovy, Jython... 5
G Scala IDE JVM Sprachen: Kotlin, Scala, Groovy, Jython... 18
A Scala und J2ME JVM Sprachen: Kotlin, Scala, Groovy, Jython... 2
S Scala Fragen zu Scala JVM Sprachen: Kotlin, Scala, Groovy, Jython... 21
D (Mathe-) Vektoren in Scala JVM Sprachen: Kotlin, Scala, Groovy, Jython... 4
Landei Scala im Kommen :-) JVM Sprachen: Kotlin, Scala, Groovy, Jython... 4

Ähnliche Java Themen

Neue Themen


Oben