Java ist eine objektorientierte Programmiersprache, die von der Firma Sun Microsystems entwickelt wurde. Java darf nicht mit JavaScript von Netscape verwechselt werden! Java ist eine vollwertige objektorientierte Hochsprache vergleichbar mit C++, während JavaScript, wie der Name schon andeutet, eine weitaus weniger mächtige Skriptsprache ist. JavaScript läuft nur innerhalb der Browser von Microsoft und Netscape, während sich mit Java völlig unabhängige Programme entwickeln lassen, sogar ein Betriebssystem ließe sich darin schreiben. Java und JavaScript haben große syntaktische Ähnlichkeiten, aber das trifft auch auf C++ zu. Daher muß man bei der Programmierung von Web-Applikationen aufpassen, daß man die zwei Sprachen nicht durcheinanderbringt. Übrigens können Java-Applets und JavaScript durch zwei Java-Klassen von Netscape miteinander kommunizieren.
Warum ist nun ausgerechnet Java die Programmiersprache fürs Web und nicht z. B. C++? Nun, das Problem kompilierter Programme (im Gegensatz zu Klartext-Skripten) ist, daß die Binaries für das jeweilige Betriebssystem und den Prozessor speziell kompiliert werden müssen. Ein Macintosh-Programm läuft nicht unter Windows, und ein Linux-Programm für Alpha-Prozessoren läuft nicht unter Linux auf einer Intel-Plattform. Also mußte sich Sun etwas anderes einfallen lassen, etwas, das portabel ist und auf all den vielen Plattformen, die ans Internet angeschlossen sind, läuft. Heraus kam eine verteilte Architektur: Der Java-Quelltext wird kompiliert, aber nur in einem gewissen Maße zu einem sogenannten »Bytecode«. Dieser wird auf dem Zielsystem von einer Java Virtual Machine (JVM) oder einem Just-in-Time-Compiler (JIT) interpretiert und in die jeweils passenden Prozessorcodes übersetzt. Vorteil: Der Bytecode ist plattformunabhängig (sofern keine Features verwendet werden, die es auf dem Zielsystem nicht gibt). Nur die JVM oder der JIT-Compiler müssen auf das jeweilige System portiert werden. Nachteil: Der Bytecode ist, da er interpretiert werden muß, erheblich langsamer als ein fertig kompiliertes Programm, allerdings immer noch viel schneller als ein Klartext-Skript. Der Vorteil für das Internet (genauer gesagt das WWW) ist, daß überall dort, wo eine JVM oder ein JIT verfügbar ist, Java-Bytecode ausführbar ist. Das ist mit anderen Programmiersprachen nicht möglich, es sei denn, man verwendet die noch langsameren Klartext-Skripts. Diese im Browser ausführbaren Bytecode-Stückchen heißen »Java-Applet« für ein kleines Programm (Application). Im Gegensatz dazu heißen richtige Programme »Java-Application«. Es gibt noch eine dritte Variante von Java-Programmen, die »Java-Servlet« genannt werden. Es sind Programmteile, die in einen (Web-)Server eingebettet werden und dort spezielle Funktionen ausführen. Voraussetzung ist, daß die gewünschte Server-Software eine passende API für Servlets anbietet.
Für richtige rogramme stehen für viele Plattformen native Compiler zur Verfügung, die keinen portablen Bytecode, sondern richtige Binaries erzeugen, die entsprechend schnell sind. Ein Beispiel für in Java geschriebene Programme ist StarOffice von Star Division aus Hamburg.
Java-Applets laufen in java-fähigen Browsern (Netscape Navigator bzw. Communicator und Microsoft Internet Explorer). Das ermöglicht es den Benutzern vieler Systeme, Java-Applets zu nutzen. Zwar steht der Internet Explorer nur für Windows und MacOS zur Verfügung, jedoch ist der Communicator für fast alle Unixe inkl. Linux, für BeOS, OS/2 und andere Systeme erhältlich. Eine ähnliche Plattformunabhängigkeit bieten die verschiedenen JVMs und JITs.
In meiner Linksammlung finden sich weitere Informationen zu Java.
Copyright ©1999 Martin Stricker.
Inhaltsverzeichnis von Martins Informationsseiten
Erstellt am Di, den 12.10.1999 von Martin Stricker.
Zuletzt geändert am Di, den 12.10.1999 um 20:09.