Galileo Computing < openbook >
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.


Java ist auch eine Insel von Christian Ullenboom
Buch: Java ist auch eine Insel (Galileo Computing)
gp Kapitel 1 Schon wieder eine neue Sprache?
gp 1.1 Der erste Kontakt
gp 1.2 Historischer Hintergrund
gp 1.3 Eigenschaften von Java
gp 1.3.1 Bytecode und die virtuelle Maschine
gp 1.3.2 Kein Präprozessor
gp 1.3.3 Keine überladenen Operatoren
gp 1.3.4 Zeiger und Referenzen
gp 1.3.5 Bring den Müll raus, Garbage-Collector
gp 1.3.6 Ausnahmenbehandlung
gp 1.3.7 Objektorientierung in Java
gp 1.3.8 Java-Security-Model
gp 1.3.9 Wofür Java nicht geeignet ist
gp 1.4 Java im Vergleich zu anderen Sprachen
gp 1.4.1 Java und JavaScript
gp 1.4.2 Normierungsversuche
gp 1.5 Die Rolle von Java im Web
gp 1.6 Aufkommen von Stand-alone-Applikationen
gp 1.7 Entwicklungs- und Laufzeitumgebungen
gp 1.7.1 Aller Anfang mit dem Java SDK
gp 1.7.2 Die Entwicklungsumgebung von Sun: Sun ONE Studio und NetBeans
gp 1.7.3 Jikes und Eclipse von IBM
gp 1.7.4 JBuilder von Borland
gp 1.7.5 Together
gp 1.7.6 Die virtuelle Maschine Kaffe von Transvirtual Technologies
gp 1.7.7 Ein Wort zu Microsoft, Java und zu J++
gp 1.7.8 Direkt ausführbare Programme
gp 1.8 Installationsanleitung für das Java 2
gp 1.8.1 Das Java 2 SDK beziehen
gp 1.8.2 Java SDK unter Windows installieren
gp 1.8.3 Compiler und Interpreter nutzen
gp 1.8.4 Installation der Java Laufzeitumgebung unter Linux
gp 1.9 Das erste Programm compilieren und testen
gp 1.9.1 Häufige Compiler- und Interpreterprobleme
gp 1.10 Eclipse
gp 1.10.1 Eclipse starten
gp 1.10.2 Das erste Projekt anlegen
gp 1.10.3 Eine Klasse hinzufügen
gp 1.10.4 Übersetzen und Ausführen
gp 1.10.5 Nutzen des JDK und Starten ohne Bestätigungsdialog


Galileo Computing

1.2 Historischer Hintergrundtoptop

In den Siebzigerjahren wollte Bill Joy eine Programmiersprache schaffen, die alle Vorteile von MESA und C vereinigt. Diesen Wunsch konnte sich Joy zunächst nicht erfüllen, und erst Anfang der Neunzigerjahre schrieb er in dem Artikel »Further«, wie eine neue objektorientierte Sprache aussehen könnte; sie sollte in den Grundzügen auf C++ aufbauen. Erst später ist ihm bewusst geworden, dass C++ als Basissprache ungeeignet und für große Programme unhandlich ist.

Zu dieser Zeit arbeitete James Gosling an dem SGML-Editor »Imagination«. Er entwickelte in C++, und auch er war mit dieser Sprache nicht zufrieden. Aus diesem Unmut entstand die neue Sprache Oak. Der Name fiel Gosling ein, als er aus dem Fenster seines Arbeitsplatzes schaute - er sah eine Eiche (engl. oak). Doch vielleicht ist das auch nur eine Legende. Patrick Naughton startete im Dezember 1990 das Green-Projekt, in das Gosling und Mike Sheridan involviert waren. Überbleibsel aus dem Green-Projekt ist der Duke, der zum bekannten Symbol geworden ist.1

Abbildung
Hier klicken, um das Bild zu Vergrößern

Die Idee hinter diesem Projekt war die Entwicklung von Software für interaktives Fernsehen und andere Geräte der Konsumelektronik. Bestandteile dieses Projekts waren das Betriebssystem Green-OS, Goslings Interpreter Oak und einige Hardwarekomponenten. Joy2 zeigte den Mitgliedern des Green-Projekts seinen Further-Aufsatz und begann mit der Implementierung einer grafischen Benutzeroberfläche. Gosling schrieb den Originalcompiler in C, und anschließend entwarfen Naughton, Gosling und Sheridan den Runtime-Interpreter ebenfalls in C - die Sprache C++ kam nie zum Einsatz. Oak führte die ersten Programme im August 1991 aus. So entwickelte das Green-Dream-Team ein Gerät mit der Bezeichnung *7 (Star Seven), das sie im Herbst 1992 intern vorstellten. Sun-Chef Scott McNealy war von *7 beeindruckt, und aus dem Team wurde im November die Firma First Person, Inc. Nun ging es um die Vermarktung von Star Seven.

Anfang 1993 hörte das Team von einer Anfrage von Time-Warner, die ein System für Set-Top-Boxen brauchten. (Set-Top-Boxen sind elektronische Geräte für Endbenutzer.) First Person richtete den Blick vom Consumer-Markt auf die Set-Top-Boxen. Leider zeigte sich Time-Warner später nicht mehr interessiert, aber First Person entwickelte (sich) weiter. Nach vielen Richtungswechseln konzentrierte sich die Entwicklung auf das World Wide Web (kurz Web genannt, selten W3). Die Programmiersprache sollte Programmcode über das Netzwerk empfangen können, und auch fehlerhafte Programme sollten keinen Schaden anrichten können. Damit konnten die meisten Konzepte aus C(++) schon abgehakt werden - Zugriffe über ungültige Zeiger, die wild den Speicher beschreiben, sind ein Beispiel. Die Mitglieder des ursprünglichen Projektteams erkannten, dass Oak alle Eigenschaften aufwies, die nötig waren, um es im Web einzusetzen - perfekt, obwohl ursprünglich für einen ganz anderen Zweck entwickelt. Die Sprache Oak bekam den Namen »Java«, da der Name »Oak«, wie sich später herausstellte, aus Gründen des Copyrights nicht verwendet werden konnte, da eine andere Programmiersprache schon diesen Namen trug. Nach Überlieferung fiel die Entscheidung für Java in einem Coffeeshop. In Java führte Patrick Naughton den Prototypen des Browsers »WebRunner« vor, der an einem Wochenende entstanden sein soll. Nach geringfügiger Überarbeitung durch Jonathan Payne wurde der Browser »HotJava« getauft und im Mai auf der SunWorld '95 der Öffentlichkeit vorgestellt.

Zunächst konnten sich nur wenige Anwender mit HotJava anfreunden. So war es ein großes Glück, dass Netscape sich entschied, die Java-Technologie zu lizenzieren. Sie wurde in der Version 2.0 des Netscape Navigators implementiert. Der Navigator kam im Dezember 1995 auf den Markt. Im Januar 1996 wurde das JDK 1.0 freigegeben, was den Programmierern die erste Möglichkeit gab, Java-Applikationen und Web-Applets (Applet: »A Mini Application«) zu programmieren. Kurz vor der Fertigstellung des JDK 1.0 gründeten die verbliebenen Mitglieder des Green-Teams die Firma JavaSoft. Und so begann der Siegeslauf.


Version Datum Einige Neuerungen/Besonderheiten
JDK 1.0, Urversion 1995 Am 23. Mai 1995 erstmals vorgestellt. Sicherheitsprobleme lösen die weiteren Versionen.
JDK 1.1 Februar 1997 Neuerungen bei der Ereignisbehandlung, Umgang mit Unicode-Dateien, Datenbankunterstützung sowie innere Klassen und eine standardisierte Unterstützung für nicht-Java-Code (nativen Code).
Java 2 SDK 1.2 November 1998 Heißt nun nicht mehr JDK, sondern Java 2 Software Development Kit (SDK). Neue Bibliothek für grafische Oberflächen: Swing. Collection.
Java 2 SDK 1.3 Mitte 2000 JNDI, RMI/IIOP, Sound-Unterstützung
Java 2 SDK 1.4 Februar 2002 Schnittstelle für XML-Parser, Logging, neues IO-System (NIO), reguläre Ausdrücke, Assertions
Java 2 SDK 1.5 Mitte 2004 Generische Typen, typsichere Aufzählungen, erweitertes for, Boxing

Es ist lustig zu sehen, dass die Sun-Entwickler für die Java-Versionen immer Tiernamen nutzen, etwa für 1.3 Kestrel (Turmfalke), Cricket 1.3.1 (Grille), 1.4.0 Merlin (Falke), 1.4.1 Hopper (Heuschrecke), 1.4.2 Mantis (Gottesanbeterin), 1.5 Tiger. Vielleicht finden wir demnächst auch Java-Flugfrosch, Java-Nashorn und Javaneraffe (lat. Macaca fascicularis, eine krabbenfressende Affenart) - diese Tiere gibt es wirklich und einen Java-Tiger auch.






1 Er sieht ein bisschen wie ein Zahn aus und könnte deshalb auch die Werbung eines Zahnarztes sein. Das Design stammt übrigens von Joe Palrang.

2 ... oder Gänschen James, Rechnung Freude und Halteseil Steele, wie es Google übersetzt.





Copyright (c) Galileo Press GmbH 2004
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de