CyborgBeta schrieb:
Den Java-Rant kann man jetzt aber auch mal gut sein lassen
Naja. Ich seh' da kein Rant im Sinne von "wir bashen jetzt mal Java".
Und ja. Hier wurde natürlich viel über eher nicht so schönen Aspekte gesprochen.
Aber natürlich hat Java auch so einiges auf der Haben-Seite. So ist die Sprache relativ einfach zu erlernen, hat für ihr Abstraktionsniveau eine passable Geschwindigkeit, es gibt viel Dokus, Libs usw. dafür, und noch vieles mehr.
Hier behauptet also keiner, das das eine durch und durch unbenutzbare Sprache ist.
Die Fragestellung ging aber darum, ob sie gut durchdacht ist (was Du ja auch selbst aufgegriffen hast). Und ich würde mal sagen, da gibts deutlich Luft nach oben.
Und diesbezüglich würde ich auch dann eher nicht mit C++ vergleichen, sondern mit
Smalltalk (oder einer modernen Implementierung wie
Pharo, die Smalltalk noch
Traits hinzufügt - im Java-Sprech würde man sagen: Interfaces die nicht nur Deklaration, sondern auch Implementation können).
Natürlich hat auch Smalltalk seine Nachteile, aber vom Sprachdesign her finde ich es wesentlich "durchdachter" als Java. Weil es das
OOP konsequenter durchzieht und auf Spezialkonstrukte in der Sprache verzichtet.
Wobei man bei Java fairerweise sagen muss, das Kompromisse eingegangen worden sind zugunsten anderer Ziele (z.B. Performance).
Und ich finde das ansich auch kein Problem. Es gibt eben unterschiedliche Zielsetzungen die auch häufig nicht miteinander vereinbar sind und jede Sprache hat da halt ihren eigenen Schwerpunkt (was ja gut ist; weil 100 Sprachen die letztlich gleich sind braucht ja niemand).
Von daher kann man das doch alles ganz entspannt sehen. :-)