Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger

Java ist auch eine Insel von Christian Ullenboom
Programmieren für die Java 2-Plattform in der Version 5 (Tiger-Release)
Buch: Java ist auch eine Insel
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.4.3 Die Rolle von Java im Web
    gp 1.4.4 Vollwertige Applikationen statt Applets
  gp 1.5 Entwicklungs- und Laufzeitumgebungen
    gp 1.5.1 Aller Anfang mit dem Java SDK
    gp 1.5.2 Die Entwicklungsumgebung von Sun: Sun ONE Studio und NetBeans
    gp 1.5.3 IBM und Eclipse
    gp 1.5.4 JBuilder von Borland
    gp 1.5.5 Together
    gp 1.5.6 Ein Wort zu Microsoft, Java und zu J++
    gp 1.5.7 Direkt ausführbare Programme
  gp 1.6 Installationsanleitung für das Java 2
    gp 1.6.1 Das Java 2 SDK beziehen
    gp 1.6.2 Java SDK unter Windows installieren
    gp 1.6.3 Compiler und Interpreter nutzen
    gp 1.6.4 Installation der Java Laufzeitumgebung (1.4) unter Linux
  gp 1.7 Das erste Programm compilieren und testen
    gp 1.7.1 Häufige Compiler- und Interpreterprobleme
  gp 1.8 Eclipse
    gp 1.8.1 Eclipse starten
    gp 1.8.2 Das erste Projekt anlegen
    gp 1.8.3 Eine Klasse hinzufügen
    gp 1.8.4 Übersetzen und Ausführen
    gp 1.8.5 J2SDK statt JRE
    gp 1.8.6 Start eines Programmes ohne Speicheraufforderung
    gp 1.8.7 Java 5.0 in Eclipse
    gp 1.8.8 Projekt einfügen oder Workspace für die Aufgaben wechseln
    gp 1.8.9 Plugins für Eclipse


Galileo Computing

1.2 Historischer Hintergruntoptop

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.

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. Joy 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 5.0 Ende 2004 Generische Typen, typsichere Aufzählungen, erweitertes for, Boxing

Für fast jede Java-Version gibt es Code-Namen, etwa für 1.1.4 Sparkler (Diamant), 1.1.5 Pumpkin (Kürbis, auch Trottel), 1.1.6 Abigail (Zofe), 1.1.7 Brutus und 1.1.8 Chelsea. Für Java 1.2 steht Playground. Für die folgenden Java-Versionen nutzen die Sun-Entwickler immer Tiernamen: Cricket 1.2.2 (Grille), 1.3 Kestrel (Turmfalke), Ladybird 1.3.1 (Marienkäfer), 1.4.0 Merlin (Falke), 1.4.1 Hopper (Heuschrecke), 1.4.2 Mantis (Gottesanbeterin), 1.5 Tiger, 1.5.1 Dragonfly (Libelle), 1.6 Mustang. 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. (Der ist übrigens vom Aussterben bedroht.)






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.

3  Chelsea Brutus ist ein Geistlicher. Suchte Sun hier göttlichen Beistand für die Java-Versionen?





Copyright © 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