Durch die weltweite Verknüpfung von Rechnern über das Internet müssen Programmentwickler damit rechnen, daß verschiede Benutzer aufverschiedenen Plattformen arbeiten.
Für Applikationen ist es deshalb wichtig, daß sie möglichst einfach auf verschiedene Benutzeroberflächen wie Windows 95, UNIX oderOS/2 angepaßt werden können, und das, ohne Programmänderungen vorzunehmen oder besser, ohne neu übersetzt zu werden.
JAVA löst dieses Problem auf folgende Weise:
Der Quellcode wird zu etwa 80% in ein binär codiertes Format kompiliert,das unabhängig von der Rechnerarchitektur und dem Betriebssystem ist.Dieses Format bezeichnet man als Bytecode, da es nahezu strukturlos als eine Folge von Bytes abgespeichert und übertragen wird. Auf der jeweiligen Zielplattform existiert ein Laufzeitsystem (z.B. ein JAVA-fähiger Internet-Browser), das die restlichen 20% des JAVA-codes interpretiert und Bibliotheken für Grafik, Fenstertechnik, Multimedia und einiges mehr bereitstellt. Sowohl die Sicherheit als auch die Fähigkeit auf verschiedenen Plattformen zu laufen,rühren von der Tatsache, daß diese 20% der Kompilierung lokal abgearbeitet werden. Ist jetzt das Laufzeitsystem verfügbar, so sind alle JAVA-Programme lauffähig, ganz gleich auf welcher Plattform sie ausgeführt werden sollen.
Unter C++ erzeugt ebenfalls der Compiler aus dem Quellcode Objektmodule, die bereits vom Prozessor ausführbare Anweisungen enthalten. Diese Module können jedoch alleine nicht zur Ausführung gebracht werden, sondern benötigen ein weiteres Programm, den Linker, der die verschiedenen Objektmodule zusammenfügt und aufeinander abstimmt. Jedoch beginnen schon bei den Objektmodulen die Probleme. Sie sind für einen bestimmten Prozessor generiert und deshalb nicht auf einen anderen übertragbar.Verwendet man jetzt noch rechnerspezifische Ressourcen wie Grafiken und Betriebssystem-Funktionen, wird es noch schwieriger, den Quellcode auf einanderes System zu übertragen. JAVA kennt diese Probleme nicht.
|