|
![]()
"Was ist Java?"
In einem langen Satz:
Klein = einfach (meinen die Entwickler von
Sun):
Java kann auf sehr kleinen Rechnern, mit geringer Ausstattung, laufen. Das Grundsystem
(Interpreter, Standardklassen und "Thread"-Unterstützung) benötigt (laut Sun)
ca. 215 KB.
Wie der Name schon sagt, konzentriert man sich bei der objekt-orientierten Programmierung auf die Erstellung sog. "Objekte". Grob gesagt besteht ein Objekt aus Daten und Funktionen (sog. "Methoden"), die diese Daten verändern. Im Idealfall erzeugt man mit objekt-orientierter Programmierung wiederverwendbare Objekte ("Klassen"). Bei fortschreitender Programmierung kann man dann auf einen immer größer werdenden Pool an schon bestehenden Objekten zurückgreifen ("Klassenbibliotheken"). Ein Satz Bibliotheken für Standardaufgaben (z.B. Ein-/Ausgabe, Graphik, usw.) wird zur Sprache mitgeliefert.
Auf entfernt liegende Objekte können Java-Programme sehr einfach über das Internet
zugreifen.
Ob die Vision von Sun Realität wird, daß Programme nicht mehr komplett auf dem
heimischen Rechner liegen, sondern benötigte Teile bei Bedarf aus dem Internet geladen
werden, wird sich zeigen... (Alle hoffen es, denn dann wäre das schreckliche
Micro$oft-Monopol endlich gebrochen)
Das
hat so seine seine Vor- und Nachteile:
Einerseits entfallen beim Entwickeln verschiedene Schritte, wie z.B. das Verknüpfen
verschiedener Programmteile ("Linken").
Der große Nachteil ist -trotz aller Beteuerungen- natürlich die langsamere
Ausführungsgeschwindigkeit.
Sun hat hier jedoch einen Zwischenschritt eingefügt: Java wird von einer Art
"Vorübersetzer" in sog. "Bytecode" übersetzt. Der große Vorteil bei
der Entwicklung, nicht bei jeder kleinen Änderung den Compiler anschmeißen zu müssen,
geht damit leider wieder verloren.
Dieser "Bytecode" ist jedoch sehr "maschinennah" - d.h. es kann
relativ einfach und schnell direkt ausführbarer Code erzeugt werden.
Außerdem erzeugen inzwischen sog. "Just-In-Time"-Compiler aus dem
"Bytecode" kurz vor der Ausführung "echten" Maschinencode des
Ziel-Prozessors. Die Geschwindigkeit wird dabei um den Faktor 10 und mehr gesteigert.
Darüber hinaus stehen spezielle, von Sun entwickelte, Java-Prozessoren vor der Tür!
Diese führen Java-Programme dann direkt aus.
Ebenso stellt der Interpreter sicher, daß das Programm nicht auf fremde Daten zugreifen kann. Hierzu wurde das völlig offene "Zeiger"-Konzept von C++ geändert.
Java ist tatsächlich eine relativ sichere Sprache.
(Nichts ist wirklich sicher -es GIBT Kreditkartenbetrug und trotzdem benutzt jeder
Kreditkarten-, also warum sollten es Java-Programme 100% sein?)
Ein- und dasselbe Java-Programm läuft ohne Änderung auf allen unterstützten Systemen!!
Außerdem wurden manche Ungenauigkeiten in der Sprachdefinition von C/C++ bereinigt.
Diese Ungenauigkeiten führten dazu, daß 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ß.
Weiterhin ist Java durch verschiedene Verbesserungen "dynamischer" als C++. Das bedeutet: Beziehungen zwischen Klassen und Objekten sind nicht für immer festgelegt. Dadurch können diese, wenn sie sich später ändern, leichter ausgetauscht werden (Auch das funktioniert nur aufgrund des Interpreters).
8.4.96 - Christoph Bergmann
"Was kann man mit Java machen?"
In einem Wort:
Alles!
In zahllosen Stichworten:
Animationen, Laufbänder, Chats auf Web-Seiten, Animacons, Taschenrechner, Spiele, Verschlüsselungsprogramme, interaktive Web-Seiten, Musik, Textverarbeitungen, kleine Internet-Applets, riesige Programmpakete, Bildverarbeitungsprogramme, neuartige Benutzeroberflächen, Übersetzungsprogramme, Bestellsysteme, Lernanwendungen, Uhren, Tabellenkalkulationen, Rechtschreibprüfungsprogramme, usw. usw.
Im Ernst:
Java ist eine Programmiersprache! Wenn man die oben beschriebenen Vorteile nutzen will und SUN das mit der Geschwindigkeit in den Griff bekommt (und alles sieht danach aus), besteht kein Grund, warum man nicht jedes Programm in Java schreiben sollte...
Zuerst profitiert natürlich das Internet und das WWW davon - auf allen möglichen WWW-Seiten tauchen bereits Java-Applets auf; vorerst viele kleine Spielereien, wie Animationen, aber es entstehen mehr und mehr "sinnvolle" Geschichten, wie z.B. Chats, bessere Benutzeroberflächen oder ein Home-Banking-System...
Und wer weiß, vielleicht setzen sich ja tatsächlich die Java-Konsolen durch...
![]()