Hier wird ein Traum der Software-Entwickler wahr:
Jeder kennt das Problem mit den verschiedenen Rechner- und
Betriebssystemen. Auf dem einen läufts, auf dem anderen nicht und
für Software-Entwickler ist das alles wirklich ein Graus! (Man stelle
sich vor, es gäbe 10 verschiedene Video-Systeme..!)
Auch hier greift das Compiler/Interpreter-Konzept: Der Compiler
übersetzt das Programm in den "Bytecode", der völlig unabhängig
von irgendeinem bestehenden Prozessor ist, auf dem das Programm
später vielleicht mal läuft.
Ein- und dasselbe Java-Programm läuft ohne Änderung auf allen
unterstützten Systemen!!*
*(Diese Aussage gilt für jede Programmiersprache :-)
Um aber die Euphorie der Java-Entwickler
zu bremsen, hat man die verschiedenen Versionsnummern erfunden: 1.0, 1.1, 1.2,
...
Außerdem wurden manche Ungenauigkeiten in der Sprachdefinition
von C/C++ bereinigt. Diese Ungenauigkeiten führten dazu, dass
manche Sachen auf verschiedenen Systemen und Compilern
unterschiedlich umgesetzt wurden; z.B. kann man sich in C/C++ nie
sicher sein, wie groß eine Ganzzahl ("Integer") in Bytes nun wirklich
ist.
In Java ist eine Ganzzahl, egal auf welchem System, immer 4 Bytes
groß.