1.6 Entwicklungsumgebungen
 
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.
1.6.1 Sun ONE Studio und NetBeans von Sun
 
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.
1.6.2 IBM und Eclipse
 
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.
1.6.3 Together
 
Ende 2002 hat Borland die Firma Togethersoft1
ü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.
 1.6.4 Ein Wort zu Microsoft, Java und zu J++
 
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.2
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.
|