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

 << zurück
Java ist auch eine Insel von Christian Ullenboom
Programmieren für die Java 2-Plattform in der Version 5
Java ist auch eine Insel

Java ist auch eine Insel
5., akt. und erw. Auflage
1454 S., mit CD, 49,90 Euro
Galileo Computing
ISBN 3-89842-747-1
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 für Textersetzungen
    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-Modell
    gp 1.3.9 Wofür sich Java nicht eignet
  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 Die Java Platform Standard Edition (Java SE)
    gp 1.5.1 JDK und JRE
    gp 1.5.2 Java-Versionen
    gp 1.5.3 Java für die Kleinen
    gp 1.5.4 Java für die Großen
    gp 1.5.5 Direkt ausführbare Programme, native Compiler
  gp 1.6 Entwicklungsumgebungen
    gp 1.6.1 Sun ONE Studio und NetBeans von Sun
    gp 1.6.2 IBM und Eclipse
    gp 1.6.3 Together
    gp 1.6.4 Ein Wort zu Microsoft, Java und zu J++
  gp 1.7 Installationsanleitung für Java 2
    gp 1.7.1 Das Java SE beziehen
    gp 1.7.2 Java SE unter Windows installieren
    gp 1.7.3 Compiler und Interpreter nutzen
    gp 1.7.4 Installation der Laufzeitumgebung (1.4) unter Linux
  gp 1.8 Das erste Programm compilieren und testen
    gp 1.8.1 Häufige Compiler- und Interpreterprobleme
  gp 1.9 Eclipse
    gp 1.9.1 Eclipse starten
    gp 1.9.2 Das erste Projekt anlegen
    gp 1.9.3 Eine Klasse hinzufügen
    gp 1.9.4 Übersetzen und Ausführen
    gp 1.9.5 JDK statt JRE
    gp 1.9.6 Start eines Programms ohne Speicheraufforderung
    gp 1.9.7 Projekt einfügen oder Workspace für die Aufgaben wechseln
    gp 1.9.8 Allgemeine Plugins für Eclipse
    gp 1.9.9 Eclipse Web Tools Platform (WTP)


Galileo Computing

1.6 Entwicklungsumgebungedowntop

Als Laufzeitumgebung ist das JRE geeignet, und mit dem JDK können auf der Kommandozeile Java-Programme übersetzt und ausgeführt werden, doch angenehm ist das nicht. Daher haben unterschiedliche Hersteller in den letzten Jahren einigen Aufwand getrieben, um die Java-Entwicklung zu vereinfachen.


Galileo Computing

1.6.1 Sun ONE Studio und NetBeans von Sudowntop

In den Anfängen der Java-Bewegung brachte Sun mit der Software Java-Workshop eine eigene Entwicklungsumgebung auf den Markt. Die Produktivitätsmöglichkeiten waren jedoch gering. Das änderte sich, als Sun das kalifornische Softwarehaus Forte übernahm und damit wieder eine bedeutendere Rolle bei den Java-Entwicklungsumgebungen übernahm. Sun interessierte sich besonders für Fortes Produkt SynerJ, das im Kern die IDE enthält. So wurde kurze Zeit später Forte for Java auf den Markt gebracht. Das Produkt wurde erst in Sun ONE Studio umgetauft, dann noch einmal und heißt nun Sun Java Studio Standard.

Sun Java Studio Standard (http://www.sun.com/software/sundev/jde/index.xml) gibt es in den Ausführungen Enterprise Edition, Mobile Edition und Community Edition. Die Community Edition (sowie die Mobile Edition) steht zum kostenlosen Download zur Verfügung, die Profiversion kostet 695 US-Dollar. Die Umgebung ist komplett in Java implementiert und modular aufgebaut, sodass Entwickler zusätzliche Bausteine implementieren können. Die Internet und Enterprise Edition unterstützen die Java EE und helfen bei der Erstellung von Datenbank- und JSP/Servlets, EJB, CORBA, RMI und JNDI.

Auf dem gleichen Kern wie Sun ONE Studio baut NetBeans auf, nur ist NetBeans (http://www.netbeans.org/) ein Open-Source-Produkt (mit etwas seltsamen Lizenz-Bestimmungen) und Sun Java Studio Standard nicht.


Galileo Computing

1.6.2 IBM und Eclipse  downtop

Den Programmierern von IBM, der größten Softwareschmiede der Welt, ist Java mittlerweile so ans Herz gewachsen, dass sie sich nicht davon trennen können und nur noch damit programmieren wollen. Dabei ist viel Software entstanden, unter anderem der in C++ programmierte Compiler Jikes, die Entwicklungsumgebung Eclipse oder reichhaltig quelloffene Software wie die Datenbank Cloudscape, die mittlerweile von der Apache-Gruppe unter dem Namen Derby weitergepflegt wird.

Die Entwicklungsumgebung Eclipse

Seit Ende 2001 arbeitet IBM an der Java-basierten Open-Source-Software (Common Public License) Eclipse (http://www.eclipse.org/). IBM löst damit die alte WebSphere-Reihe und die Umgebung Visual Age for Java ab. Eclipse macht es möglich, Tools verschiedenster Hersteller zu integrieren. Viele Anbieter haben ihre Produkte schon für Eclipse angepasst, und die Entwicklung läuft weltweit in einem raschen Tempo. Da Suns IDE NetBeans ebenfalls frei ist und mit anderen Fremdkomponenten bereichert werden kann, zog sich IBM den Groll von Sun zu. Sun wirft IBM vor, die Entwicklergemeinde zu spalten und noch eine unnötige Entwicklungsumgebung auf den Markt zu werfen, wo doch NetBeans schon so toll ist. Nun ja, die Entwickler haben entschieden. Eine Statistik (mit Mehrfachnennungen) von ONJava-Lesern zeigt für das Jahr 2004, dass mehr als 70 Prozent mit Eclipse arbeiten, 27 Prozent mit Editoren wie Emacs oder Notepad und 20 Prozent mit NetBeans. »Sonstige« laufen unter 5–15 % (etwa JBuilder).

Eclipse hat gegenüber anderen Umgebungen den Vorteil, dass der Editor besonders Spracheinsteigern hilft, sich mit der Syntax anzufreunden. Dazu unterkringelt Eclipse ähnlich wie moderne Textverarbeitungssysteme fehlerhafte Stellen. Zusätzlich bietet die IDE die notwendigen Hilfen beim Entwickeln, wie etwa automatische Codevervollständigung. Eclipse setzt auf dem Java SDK auf und nutzt somit immer die neuesten Java-Versionen beziehungsweise beliebige andere Java-Umgebungen.

Eclipse ist ein Java-Produkt mit einer nativen grafischen Oberfläche, das erstaunlich flüssig seine Arbeit verrichtet – genügend Speicher vorausgesetzt (>256 MB). Die Arbeitszeiten sind auch deswegen so schnell, weil Eclipse mit einem so genannten »inkrementellen Compiler« arbeitet. Wenn eine Java-Quellcodedatei gespeichert wird, übersetzt der Compiler automatisch diese Datei; dieses Feature nennt sich »autobuild«.

Jikes

Der Compiler Jikes (http://jikes.sourceforge.net/) liegt im Quellcode unter der IBM Public License vor. Auf der Download-Seite finden sich neben dem Quellcode auch Binärdateien für Windows oder Linux. Wer bisher mit dem Sun-Compiler gearbeitet hat, kann Jikes als schnelle Alternative testen. In manchen Fällen mäkelt Jikes an Dingen, die vom Sun-Compiler akzeptiert werden. Dies führt zu spannenden Diskussionen, da IBM von sich behauptet, einen Compiler geschrieben zu haben, der aus Java-Quellcode, definiert in The Java Language Specification (Addison-Wesley), Bytecode erstellt, wie unter The Java Virtual Machine Specification (Addison-Wesley) spezifiziert. Leider ist in einigen Punkten die Sprachspezifikation unzureichend, sodass es zu unterschiedlichen Auslegungen kommt.


Galileo Computing

1.6.3 Together  downtop

Ende 2002 hat Borland die Firma Togethersoft übernommen und liefert mit Together (früher TogetherJ) ein Case-Tool aus, welches UML-Design und Codegenerierung komfortabel vereint. Besonders interessant ist das Reverse- und Roundtrip-Engineering, welches es möglich macht, Java-Code zu importieren und UML-Diagramme zu generieren. Einige Abbildungen in diesem Buch stammen von Together. Ein Editor mit Quellcodeerweiterung macht Together zu einer vollständigen IDE. Weiterhin unterstützt das Tool CVS (Concurrent Versioning System), und es lassen sich einfach Datenbankverbindungen über Dialoge aufbauen. Together (http://www.borland.de/together/) spaltet sich in Control-Center und Solo auf. Solo ist die »Einsteigerversion« mit den bekannten UML-Diagrammen Use Case, Sequence, Collaboration, State, Activity, Component und Deployment. Das Control-Center erweitert Solo im Wesentlichen um EJB-Funktionalität. Das Together-Control-Center besitzt zudem einen GUI-Builder und unterstützt JUnit, EJB2.0 und Web-Services. Da die Software in Java programmiert ist, sollte der Rechner gut mit Speicher ausgestattet sein. Das Programm wird zusammengepackt in einem Archiv geliefert, ist aber auf verschiedenen Plattformen wie Windows und Linux lauffähig. Mit der Together Edition für Eclipse bietet Borland auch ein Plugin für Eclipse.


Galileo Computing

1.6.4 Ein Wort zu Microsoft, Java und zu J++  toptop

Der Hauptunterschied zwischen dem JDK von Sun und Microsoft liegt darin, dass Applikationen, die unter dem Microsoft Development Kit erstellt wurden, nicht zwangsläufig auf anderen Plattformen lauffähig sind. Da Microsoft mal wieder gegen alle Standards ist, sollte der J++-Compiler daher nicht verwendet werden. Microsoft fügte neue Schlüsselwörter (multicast und delegate) sowie weitere Methoden und Eigenschaften hinzu und entfernte einige Java-Methoden. Dies ist zum Beispiel J/Direct. Microsoft versucht, der plattformunabhängigen Programmiersprache den Windows-Stempel zu verpassen. Denn Programme mit J/Direct laufen nur noch unter Windows-Plattformen. Mit J/Direct können Programmierer aus Java heraus direkt auf Funktionen aus dem Win32-API zugreifen und damit reine Windows-Programme in Java programmieren. Durch Integration von DirectX soll die Internet-Programmiersprache Java multimediafähig gemacht werden. Es bleibt abzuwarten, wie es mit der Unterstützung von Java seitens Microsoft weitergeht. Die Aussagen von Microsoft-Projektleiter Ben Slivka über das Java Development Kit beziehungsweise die Java Foundation Classes, man müsse »sie bei jeder sich bietenden Gelegenheit anpissen« (»pissing on at every opportunity«), ließen zur damaligen Zeit keine harmonische Kooperation mit Sun vermuten.

Suns Produkte, die JNI und RMI nutzen, laufen nicht mit dem IE 4.0 zusammen. Wegen dieser Unregelmäßigkeiten darf Microsoft nach richterlicher Anordnung das Java-Logo nicht mehr in seinen Produkten führen und auch nicht mehr damit werben. Jetzt droht Microsoft natürlich damit, künftige Java-Versionen nur noch bedingt zu unterstützen. Ungefähr zeitgleich nahm Microsoft alle Java-Applets von seinen Web-Seiten – offiziell wegen mangelnder Geschwindigkeit. Da auch der Netscape Navigator Java nicht zu 100 % unterstützt, wurde das Java-Logo aus diesem Internet-Browser ebenfalls entfernt, um einer Klage im Vorfeld aus dem Weg zu gehen. Letztlich hat sich Sun aber durchgesetzt, und Microsofts Java-Variante J++ darf das geschützte Label »100 % Java kompatibel« nicht mehr benutzen.

Da es Sun finanziell nicht besonders gut geht, pumpte Microsoft im April 2004 satte 1,6 Milliarden US-Dollar in die Firma. Microsoft erkaufte sich damit das Ende der Kartellprobleme und Patentstreitigkeiten.




1  Der Objekt-Guru Peter Coad ist Vorsitzender der Firma. Von 1988 bis Ende 1999 lag Together in den Händen des Stuttgarter Softwarehauses Object International. Die Konkurrenz, James Rumbaugh, Grady Booch und Ivar Jacobson (die drei Amigos), sitzt bei Rational.

2  Würden wir nicht gerade im westlichen Kulturkreis leben, wäre diese Geste auch nicht zwangsläufig unappetitlich. Im alten Mesopotamien steht »pissing on« für »anbeten«. Da jedoch die E-Mail nicht aus dem Zweistromland ist, bleibt die wahre Bedeutung wohl unserer Fantasie überlassen.

 << zurück




Copyright © Galileo Press GmbH 2005
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, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de