Hm also ich steh Java recht zwiespältig gegenüber.
Aber ich muss sagen, viele Programmierer sind C++ so gewöhnt das sie aus fanatismus C++ auf ein Podest stellen und Java verteufeln. Ich hab zuerst Java gelernt und ich muss sagen, als ich dann C++ angefangen habe war ich echt frustriert. In c++ ist vieles sehr umständlich und oft hat man den Eindruck, dass aus kompatibilitätsgründen da Dinge drin sind die einfach unschön sind.
Was ich ausserdem furchtbar vermisst hab ist die Java API. Da findet man einfach alles. In C++ kann man entweder 5000 verschiedene implementierungen im Netz finden die alle so ihre haken haben, aber die meisten erfinden das Rad komplett neu. In Java hab ich einfach alles und kann mich aufs eigentliche Programm konzentrieren.
Ausserdem ist es ein vorurteil dass Java langsam sei. Das kommt vorallem von den recht lahmen JFC GUI klassen. Die inzwischen um einiges besser geworden sind. Nur der start von Java applikationen ist noch etwas langsamer.
Eclipse find ich auch sau gut, da gibt es 100 Funktionen die mir bei MS VS extrem abgehen (und dazu ist Eclipse gratis). Weiters gibt es für Java sehr gute Dokumentationen. Ich kenne da 2 EBooks die einfach super zum lernen und nach lesen sind und die Java API Doku ist auch einfach nur super.
Bei C++ dagegen hab ich zwar mein "Die C++ Programmiersprache", da hab ich aber für 60 Euro einen tonnen schweren (nicht so gut in der notebooktasche..) wälzer der dazu auch noch ziemlich hochtrabend geschrieben ist und natürlich nicht auf plattformspezifisches eingeht.
Sonst findet man im Netz nur so halbkorrekte Tutorials die meistens keinen so tollen coding stil haben und STL dokus sind auch meist recht sparsam mit den Infos (ausserdem ist die STL weit weniger umfangreich).
Dafür find ich die Java GUIs einfach hässlich
Und in sachen Spieleprogrammierung ist C++ noch vorne, vorallem weil es hierfür einfach mehr know-how und API anbindungen gibt.
Es gibt bereits Vollpreisspiele in Java oder die Java als Script Sprache benutzen, man merkt es kaum!
Spiele in Java (Quelle: O'reilly "killer game programming in java", echt komischer titel):
Chrome (dieser shooter)
Law and Order 2 (naja crap)
Star Wars Galaxies (!!!) [aber nur die game logic]
IL-2 Sturmovik (benutzt java und c++, ka was für was)
vampire: the masquerad: redemption (als script sprache)
usw..
Aber vorallem als Lehrsprache (in HTLs, Unis, FHs) ist Java recht beliebt, zum ersten kontakt mit der Programmierung.
Fazit: Ich kann (mehr oder weniger
) beides und beide sprachen haben vor und nachteile. Aber Java ist nicht so schlecht wie viele einfach aus purem "fanatismus" behaupten und viele argumente gegen Java sind bei genauerer Analyse nicht korrekt.
PS: Mit C# hab ich mich noch nie beschäftigt, kann dazu nix sagen.
MFG Beliar
Edit:
@sicaine, wegen sig: hm terrashop war früher cooler. jetzt bieten sie nicht nur mehr mangelexemplare an und sind deshalb im schnitt teurer.
der petzold kostet bei mir in der buchhandlung in der nähe übrigens auch nur 30 euro (softcover).