Um von Grund auf Java zu lernen, ist es am besten einen simplen Texteditor zu verwenden. Dann ist man gezwungen, sich Gedanken über die Syntax zu machen. Ich meine damit, man lernt, Bezeichner, Schlüsselworte, Strukturen richtig hinzuschreiben und weiss warum es beim vorherigen Versuch falsch war, wenn der Java-Kompiler (javac) einen Syntaxfehler anmeckert.
Um aber (vorrausgesetzt, man kennt Java schon) schneller an die Realisierung seines Java-Projekts zu kommen halte ich persönlich eine Entwicklungsumgebung für besser.
Pros Eclipse:
- läuft schneller als NetBeans, da Eclipse das GUI-Framework SWT (Simple Widget Toolkit) verwendet. SWT ist sehr nahe an den Widgets des nativen OS, also z.B. sehr nahe an den grafischen Elementen von Windows-XP. Unter Linux wird SWT z.B. direkt auf die GTK-Lib abgebildet, oder auf MOTIF.
- Java-Editor-Refactorings sehr mächtig und einfach zu bedienen
- viele nützliche Plugins frei verfügbar
- mächtige Umgebung zum Entwickeln eigener Plugins
Cons Eclipse:
- falls du selber Plugins schreiben willst, die die GUI von Eclipse benutzen, musst du eine weitere GUI-API lernen -> SWT. Diese API ist kaum objektorientiert, kann aber mit einem weiteren Plugin von Eclipse (JFace) objektorientiert verwendet werden.
Pros Netbeans:
- GUI-Builder Spitze, sofern die Standard Java-GUI-Bibliotheken ausreichen (Swing wird auf jeden Fall unterstützt, vielleicht auch JSP)
Cons Netbeans:
- basiert auf Swing, das zwar objektorient ist, aber die grafischen Elemente der GUI alle emuliert und damit auch langsamer auf der nativen GUi läuft als z.B. SWT von Eclipse
beide haben die Möglichkeit ihre Funktionalität durch Plugins zu erweitern.
Ich kann hier nur ein paar für Eclipse aufzählen, da ich seit einigen Jahren ausschliesslich Eclipse verwende und selbst durch eigene Plugins erweitert habe.
Als wichtig zu erwähnen sind:
- WTP (Web Tools Platform), damit können Web-Projekte leicht erzeugt werden, also Projekte, die auf z.B. Tomcat, JSP, Servlets, HTML usw. basieren.
- EMF (Eclipse Modeling Framework), damit ist es einfach aus ein paar Interfaces, die dein Modell beschreiben eine Implementierung generieren zu lassen, die Persistenz, Validierung und Event-Verarbeitung unterstützt. Die erzeugte Implementierung ist natürlich auch ausserhalb von Eclipse benutzbar.
- GEF (Graphical Editing Framework) ist ein Framework um grafische Editoren zu schreiben, mit denen z.B. Graphen dargestellt und bearbeitet werden können.
Weiterhin gibt's jede Menge Plugins für alles Mögliche:
z.B. bei
http://www.eclipse.org/community/plugins.php
Gruß
Udo