1.6 Entwicklungsumgebungen im Allgemeinen
Als Laufzeitumgebung ist das JRE geeignet, und mit dem JDK können auf der Kommandozeile Java-Programme übersetzt und ausgeführt werden – angenehm ist das allerdings nicht. Daher haben unterschiedliche Hersteller in den letzten Jahren einigen Aufwand betrieben, um die Java-Entwicklung zu vereinfachen. Moderne Entwicklungsumgebungen bieten gegenüber einfachen Texteditoren den Vorteil, dass sie besonders Spracheinsteigern helfen, sich mit der Syntax anzufreunden. Eclipse beispielsweise unterkringelt ähnlich wie moderne Textverarbeitungssysteme fehlerhafte Stellen. Zusätzlich bieten die IDEs die notwendigen Hilfen beim Entwickeln, wie etwa farbige Hervorhebung, automatische Codevervollständigung und Zugriff auf Versionsverwaltungen oder auch Wizards, die mit ein paar Eintragungen Quellcode etwa für grafische Oberflächen oder Web-Service-Zugriffe generieren.
1.6.1 Die Entwicklungsumgebung Eclipse

Seit Ende 2001 arbeitet IBM an der Java-basierten Open-Source-Software Eclipse (http://www.eclipse.org/) und löste damit die alte WebSphere-Reihe und die Umgebung Visual Age for Java ab. 2003/2004 gründete IBM mit der Eclipse Foundation ein Konsortium, das die Weiterentwicklung bestimmt. Diesem Konsortium gehören unter anderem die Mitglieder BEA, Borland, Computer Associates, Intel, HP, SAP und Sybase an. Eclipse steht heute unter der Common Public License und ist als quelloffene Software für jeden kostenlos zugänglich.
Eclipse macht es möglich, Tools als sogenannte Plugins zu integrieren. Viele Anbieter haben ihre Produkte schon für Eclipse angepasst, und die Entwicklung läuft weltweit in einem raschen Tempo.
Da Oracles IDE NetBeans ebenfalls frei ist und um andere Fremdkomponenten bereichert werden kann, zog sich IBM damals den Groll von Sun zu. Sun warf IBM vor, die Entwicklergemeinde zu spalten und noch eine unnötige Entwicklungsumgebung auf den Markt zu werfen, wo doch NetBeans schon so toll sei. Nun ja, die Entwickler haben entschieden: Statistiken sehen Eclipse deutlich vorne, wobei in den letzten Jahren NetBeans etwas Boden gutmachen konnte.
Eclipse ist ein Java-Produkt mit einer nativen grafischen Oberfläche, das flüssig seine Arbeit verrichtet – genügend Speicher vorausgesetzt (> 512 MiB). Die Arbeitszeiten sind auch deswegen so schnell, weil Eclipse mit einem sogenannten inkrementellen Compiler arbeitet. Speichert der Anwender eine Java-Quellcodedatei, übersetzt der Compiler diese Datei automatisch. Dieses Feature nennt sich autobuild.
1.6.2 NetBeans von Oracle

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 mit zwei strategischen Einkäufen, um wieder eine bedeutendere Rolle bei den Java-Entwicklungsumgebungen zu spielen:
- Im August 1999 übernahm Sun das kalifornische Softwarehaus Forte. Sun interessierte sich besonders für SynerJ, eine Produktsuite für Java SE- und Java EE-Entwicklungen.
- Etwa zwei Monte später erwarb Sun vom tschechischen Unternehmen NetBeans die gleichnamige Entwicklungsumgebung NetBeans. Nach kurzer Umbenennung in Forté for Java wurde es im Jahr 2000 als quelloffene Lösung wieder zu NetBeans.
NetBeans (http://www.netbeans.org/) bietet komfortable Möglichkeiten zur Java SE-, Java ME- und Java EE-Entwicklung mit Editoren und Wizards für die Erstellung grafischer Oberflächen von Swing- und Webanwendungen. Oracle ist sehr experimentierfreudig und unterstützt eine Reihe von Bibliotheken und Frameworks, deren Entwicklung noch nicht abgeschlossen ist.
Seit dem Wechsel von Sun zu Oracle befürchtet die Community, dass Oracle der IDE NetBeans in Zukunft keine hohe Priorität mehr einräumt. Zum einen hat das Unternehmen mit dem Oracle JDeveloper schon eine IDE im Programm, und zu anderen unterstützt Oracle auch sehr aktiv Eclipse und bietet spezielle Java EE-Plugins. Doch bisher ist keine Abkehr von NetBeans zu spüren, und von offizieller Stelle gibt es eher Unterstützung. Die Angst ist wohl unbegründet, und Oracle möchte mit den drei Entwicklungsumgebungen verschiedene Zielgruppen ansprechen.
1.6.3 IntelliJ IDEA

Dass Unternehmen mit einer Java-IDE noch Geld verdienen können, zeigt JetBrains, ein aus Tschechien stammendes Softwarehaus. Die Entwicklungsumgebung IntelliJ IDEA gibt es in einer freien, quelloffenen Grundversion Community Edition, die alles abdeckt, was zur Java SE-Entwicklung nötig ist, und in einer kommerziellen Ultimate Edition für 249 US-Dollar (Einzelentwickler) bzw. 599 US-Dollar (Unternehmen), die sich an die Java EE-Entwickler richtet. Die Basisversion enthält auch schon einen GUI-Builder, Unterstützung für Test-Frameworks und Versionsverwaltungssysteme und ist etwa mit Eclipse IDE for Java Developers vergleichbar. Die freie Community-Version ist beliebt, da die Unterstützung der alternativen JVM-Sprache Groovy sehr gut ist und ein tolles Scala-Plugin existiert.
1.6.4 Ein Wort zu Microsoft, Java und zu J++, J#
In der Anfangszeit verursachte Microsoft einigen Wirbel um Java. Mit Visual J++ (gesprochen »Jay Plus Plus«) bot Microsoft schon früh einen eigenen Java-Compiler (als Teil des Microsoft Development Kit) und mit der Microsoft Java Virtual Machine (MSJVM) eine eigene schnelle Laufzeitumgebung. Das Problem war nur, dass Dinge wie RMI und JNI absichtlich fehlten[42](http://www.microsoft.com/presspass/legal/charles.mspx) – JNI wurde 1998 nachgereicht. Entgegen allen Standards führte der J++-Compiler neue Schlüsselwörter wie multicast und delegate ein. Weiterhin fügte Microsoft einige neue Methoden und Eigenschaften hinzu, zum Beispiel J/Direct, um der plattformunabhängigen Programmiersprache den Windows-Stempel zu verpassen. Mit J/Direct konnten Programmierer aus Java heraus direkt auf Funktionen der Win32-API zugreifen und damit reine Windows-Programme in Java programmieren. Durch Integration von DirectX sollte die Internet-Programmiersprache Java multimediafähig gemacht werden. Das führte natürlich zu dem Problem, dass Applikationen, die mit J++ erstellt wurden, nicht zwangsläufig auf anderen Plattformen liefen. Sun klagte gegen Microsoft.
Da es Sun in der Vergangenheit finanziell nicht besonders gut ging, pumpte Microsoft im April 2004 satte 1,6 Milliarden US-Dollar in die Firma. Microsoft erkaufte sich damit das Ende der Kartellprobleme und Patentstreitigkeiten. Dass es bis zu dieser Einigung nicht einfach gewesen war, zeigen Aussagen von Microsoft-Projektleiter Ben Slivka über das JDK beziehungsweise die Java Foundation Classes, man müsse sie »bei jeder sich bietenden Gelegenheit anpissen« (»pissing on at every opportunity«).[43](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 kam, bleibt die wahre Bedeutung wohl unserer Fantasie überlassen.)
Im Januar 2004 beendete Microsoft die Arbeit an J++, denn die Energie floss in das .NET-Framework und die .NET-Sprachen. Am Anfang gab es mit J# eine Java-Version, die Java-Programme auf der Microsoft .NET-Laufzeitumgebung CLR ausführt, doch Anfang 2007 wurde auch J# eingestellt. Das freie IKVM.NET (http://www.ikvm.net/) ist eine JVM für .NET und verfügt über einen Übersetzer von Java-Bytecode nach .NET-Bytecode, was es möglich macht, Java-Programme unter .NET zu nutzen. Das ist praktisch, denn für Java gibt es eine riesige Anzahl von Programmen, die somit auch für .NET-Entwickler zugänglich sind.
Microsoft hat sich aus der Java-Entwicklung nahezu vollständig zurückgezogen. Es gibt zum Beispiel noch den Microsoft JDBC Driver for SQL Server, und Microsoft unterstützt eine API für Office-Dokumente. Das Verhältnis ist heute auch deutlich entspannter, und vielleicht gratuliert Microsoft irgendwann einmal Oracle, wie es auch Linux zum 20. Geburtstag gratuliert hat.[44](http://www.youtube.com/watch?v=ZA2kqAIOoZM)
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.