GT3X, deine Aussage, dass Java die Sprache der Zukunft sei ist falsch.
Mit Sicherheit wird Java, -sowohl auch C++ noch lange eingesetzt werden.
Jede hat ihre Vor -und Nachteile.
Desweiteren ist deine Aussage, dass nur Java Plattformunabhängig sei auch falsch.
Der 'normale' Prozessor eines Computers kann nur mit Maschienencode arbeiten. Auch ein Computer ohne Betriebssystem versteht diesen Code. Die meisten Programme laufen unter einem bestimmten System wie z.B. Windows, Linux oder Mac. Diese laden das Programm in den Arbeitsspeicher und sorgen dafür das es richtig abgearbeitet wird.
Jedes Betriebssystem hat aber jetzt sein eigenes Format wie dein Programm auf der Festplatte vorliegen muss um korrekt geladen zu werden (z.B. PE für Windows
http://de.wikipedia.org/wiki/Portable_Executable)
Dies ist ein Grund weshalb ein C++ Programm für jede Plattform neu kompiliert werden muss.
Andererseits willst du aber auch mit dem Betriebssystem interagieren (z.B. Ausgabe, Eingabe, Festplattenzugriff usw.). Dafür haben die einzelnen Systeme wieder unterschiedlich Mechanismen und Funktionen.
Der Java Compiler erstellt dir ein Programm in einem Bytecode. Dieser Bytecode entspricht nicht dem Maschienencode und kann deshalb nicht direkt vom Prozessor abgearbeitet werden.
Deshalb wird Java VM benötigt, die den Bytecode interpretieren und ausführen kann. Die VM ist selbst ein Programm, das für verschiedene Plattformen programmiert und erstellt wurde. Deshalb kannst du deine class dateien nehmen und sie auf einer beliebigen Plattform benutzen sofern es für diese Plattform eine VM gibt.
C++ bietet dir insofern eine plattformunabhängigkeit, als dass du den code
nehmen kannst und ihn auf jedem beliebigen System in ein natives Programm kompilieren kannst.
Wie gesagt, beide haben Vor -und Nachteile; aber da er schon mit Java angefangen hat, sollte er auch dabei bleiben.