Dann würde ich dir Ada (2012) empfehlen, da ist es noch eindeutiger.Ich argumentiere hier jetzt eher aus einer Advocatus Diaboli Position heraus, aber bedenke Folgendes:
Klar, Java ist sehr verbos (was such Vorteile hat, weil man den Code besser lesen kann als einen "klugen" Einzeiler) und Funktionsaufrufe.der.Bloatlord.Tier.sind.nervig.zu.lesen() aber dafür ist es funktional eindeutig und erfordert weniger Wissen über arkane Funktionsweisen der Sprache.
Ok, genug über Java geredet, wann kommt deine Kritik an C++?Warum nach einer Vererbung mehrere identische, aufrufbare Subobjekte in einem Objekt leben und Dir das ganze erst zur Runtime um die Ohren fliegt wenn Du ein Generisches davon aufrufst, sich das Programm dann aber nicht entscheiden kann, welches es nimmt bzw. Warum das wichtig ist und nicht wegabstrahiert wird, Du aber gleichzeitig ein spezifisches ohne Probleme aufrufen kannst außer es ist dann virtual, kannst Du keinem erklären.
Alleine der Satz liest sich so behindert, dass ich ihn nicht mehr verstehe nachdem ich ihn geschrieben habe. Und das ist nur die Spitze des Eisbergs.
Ja, das stimmt, die meiste Zeit.Java macht viel hinter der Bühne, aber wenn es kompiliert läufts auf dieser Version der JVM und gut ist. Die so gesparte Zeit kannst Du auch investieren um ein besseres Programm zu schreiben.
Aber komischerweise ist so gut wie jedes Java Programm lahm und schlecht Programmiert. Ich bin sicher das liegt nicht an Java selber