und 2.) Was ist für welche Anwendung besser geeigent? Java oder C++? Oder was ist Platformübergreifender?
Java läuft ohne Änderungen auf jeder Plattform, für die es eine Java Virtual Machine gibt. Das geht deshalb, weil diese "Maschine" die Standard-Java-Aufrufe für irgendwelche Bildschirmdarstellung umsetzt auf die jeweilige Plattformerfordernis, oder es auch selbst übernimmt. Mit C++ hättest du den Vorteil, das es im Prinzip schneller ist, weil Java (zwar nicht grundsätzlich, aber mit heutigen Möglichkeiten) immer noch Zwischenschritte braucht und die CPU die Java-Befehle nicht direkt ausführt. Es gibt aber sehr wohl spezielle Java-CPUs, die darauf ausgelegt sind, Java direkt auszuführen, und die sind logischerweise sehr schnell.
Hm.. Java und plattformunabhängigkeit...
Warum werden Grids unter Windows direkt, unter Linux besche** und unter Solaris erst im zweiten Schritt dargestellt?
Warum laufen manche JAVA-Applikationen super.. bis .. ja bis man sie mal auf Unix-Rechnern statt auf nem Windows Rechner kompiliert und ausführt (bei der selben Java-Version) da man sie dort z.b. für ein Programmierpraktika abgeben muß?
So kompatibel ist JAVA da gar nicht.. gibt noch etliches was irgendwie nicht ganz klappt...
Und das spezielle JAVA-CPU's besoders schnell sind.. sorry.. je komplexer die CPU Befehle sind (und bei JAVA werden sie im Vergleich zu normalen Assembler sehr komplex) desto lahmer ist eine gleichschnell getaktete CPU.
Siehe Patterson&Hennesy : Computer Architecture & Design.
(Ganz grob, Parallellverarbeitung von Prozessen, Ein Befehlszyklus ist viel länger und muß auch von kleinen Befehlen ganz durchlaufen werden usw.)