Man hat bei Java schon richtige, binäre und kompilierte Programme, sie sind jedoch nicht nativ, sind nicht direkt ausführbar und können kaum mit dem Betriebssystem sondern nur mit der Virtual Machine kommunizieren.
Ein Betriebssystem oder ein Compiler oder ein Treiber oder so gehen somit garnicht.
Wenn du wirklich größere Programme in Websites oder Handies einbinden willst, ist Java natürlich die bessere Wahl.
Du kannst C++ immerhin auf dem Webserver aufrufen, zum Beispiel auch mit PHP - fals safemode auf off ist.
Der Link mit dem Blackberry:
Da wird ja wirklich geschrieben, dass das System sicher in einer JRE läuft.
Ich bin mir sehr sehr sicher, dass der direkte Hardwarezugriff, die JRE und vielleicht noch File- und Prozessmanagement auch bei RIM nicht in Java implementiert worden sind.
Java übernimmt dann wohl nur das gesamte Interface und die ganzen Abläufe, die nicht direkt mit dem System zu tun haben, sondern höchstens etwas systemnahes aufrufen müssen. Aus der JRE kommt ein Java-Programm nicht heraus.
C++ bietet keine Vorteile für den Webdesigner (außer er will auf dem Server komplizierte Sachen ablaufen lassen), dafür aber um so mehr für den (nicht Web-)Programmierer.
C++ kann durch die Entfesselung von einer JRE mehr Performance bieten, mit dem System bzw. anderen Anwendungen kommunizieren sowie bis ins Detail alle Abläufe genau Kontrollieren.
Java bietet die meisten Teile der Low-Level-Programmierung nicht, und erlaubt weniger Kontrolle und Optimierung. Zugegeben macht Java es einem in vielen Teilen leicht, zum Beispiel was Speicheroptimierung angeht, aber C++ bietet solche Features eigentlich auch sehr gut - wenn man sich mit der Standardbibliothek auseinandersetzt.
Viele Leute halten sich dann immer an der Low-Level-Programmierung auf und lassen die Bibliothek zum Beispiel heraus. Man sollte den Low-Level-Kram eher als mächtiges Mittel zur Optimierung ansehen, die Bibliothek macht es einem aber oft einfacher.
Viele liebe Grüße
The User
Edit:
Ich lerne Java übrigens in der Schule, komme auch gut mit zu Recht, entdecke aber immer wieder Stellen, wo C++ es deutlich kürzer, schneller, einfacher oder weniger komplex gestaltet.
In der Freizeit halt C++ und PHP.