Warum Eclipse?

Hallo zusammen,

erst einmal vorweg: Nein, das hier soll kein “Glaubens-Krieg” über dir richtige Java-IDE werden, ich hätte jedoch eine ernstgemeinte Frage zu Eclipse: Warum ausgerechnet diese IDE?

Zu meinem Hintergrund:
Als ich Ende des letzten Jahrtausends mit meinem Informatikstudium angefangen habe, war an meiner Hochschule zunächst C++ die Ausbildungssprache Nr. 1. Im Laufe meines Studiums drängte sich jedoch Java mehr und mehr in den Vordergrund es es gab entsprechende Wahl-Pflichtveranstaltungen. Die damals in den Veranstaltugen verwendete IDE war der JDeveloper von Oracle. Bei diversen Praktika in Unternehmen kamen neben diversen anderen IDEs unter anderem auch Eclipse zum Einsatz. Schon damals kam ich mit dem Teil nicht wirklich zurecht und war froh, als das Praktikum vorbei war und ich nichts mehr mit Eclipse zu tun hatte. Nachdem ich in den letzten Jahren nichts mit Java zu tun hatte, habe ich nun wieder ein Java-Projekt bei dem Eclipse leider Pflicht ist. Auch wenn sich bei Java in den letzten 10 Jahren sehr viel getan hat, was ich nicht mitbekommen habe, viel es mir was die Sprach an sich betrifft, recht leicht, mich wieder einzuarbeiten. Leider hadere ich mit den Sachen von Eclipse, welche zum großen Teil komplett quer gegenüber den Konzepten in anderen IDEs funktionieren. So ist es mir z. B. immer noch nicht wirklich klar, was das mit diesem komischen Workspace sein soll. In jeder anderen IDE, mit denen ich in den letzten Jahren gearbeitet habe, gab es eine Projektdatei, welche man einfach öffnen konnte. Bei Eclipse gibt es das nicht, dafür muss man das Projekt in den Workspace importieren. Umgekehrt hatte ich gerade den Effekt, dass ich ein Projekt, welches ich nur zu Anschauungszwecken in meinem Workspace importiert hatte nicht richtig entfernen konnte. Ich hatte das Projekt zwar einmal compiliert, aber sonst nur „lesend“ darauf zugegriffen, zur Anschauung eben. Dann habe ich es aus dem Workspace über Eclipse gelöscht, da ich mir alles, was ich brauchte dort abgeschaut hatte. Jedoch hatte ich direkt beim nächsten Build-Versuch meines eigentlichen Projektes das Problem, dass eine Fehlermeldung kam, dass dieses Projekt fehlen würde, obwohl es nirgends von mir referenziert wurde …

Dies ist nur der jüngste einer ganzen Reihe von Punkten, an denen ich mit Eclipse nicht wirklich zurecht komme. Da aber genau diese IDE immer als die erfolgreichste Java-IDE angepriesen wird, frage ich mich, was mache ich falch, dass ich damit nicht klar komme? Was sehen andere in dieser IDE, was ich ggf. nicht sehe? Was macht Eclipse so populär?

Workspace ist einfach eine höhere Einteilung gegenüber Projekten,
da man manchmal Projekte untereinander referenzieren möchte (was bei dir Probleme gemacht hatte) muss es diese höhere Schicht geben,
entweder nur eine programmweit, oder mehrere für allerlei Möglichkeiten, unterschiedliche User-Einstellungen, unterschiedliche JRE ausgewählt, einfach alles

ist doch ne nette Sache, und wenn man es nicht braucht schlicht immer nur mit dem ersten Workspace arbeiten


die allgemeine Frage kann man auch umdrehen, was ist alternativ am JDeveloper so toll?
halbwegs objektive Vergleichskriterien wären als Argumente eine Sache, vorher kann man kaum richtig was dazu sagen

ich persönlich habe wohl Eclipse als erstes vorgesetzt bekommen und bin dann eben dabei geblieben (edit: an der Uni Anfang des Jahrtausends auch Standard),
Probleme sehe ich auch manche, etwa speziell zu den Workspaces dass es keine (leichte mir bekannte) ordentliche 100% Kopie aller Einstellungen gibt,
für verschiedene Stände desselben Programms habe ich im Moment gerade den 7. Workspace aufgemacht und muss immer manches wie Warnmeldungen einzeln einstellen,
grundsätzlich aber keine ernsthaften Probleme

eine möglichst verbreitete IDE zu nehmen ist natürlich ein wichtiger Punkt,
wenn Eclipse je diesen Stand erreicht hatte oder durch geschicktes Marketing/ Hype glauben ließ, dann danach ein gewisser Selbstläufer,
da kommt es nicht mehr unbedingt auf die Qualität an,

und auch recht gute Sache, Einheitlichkeit ist von Vorteil, und Eclipse dabei kein allzu kommerzielles Produkt wie Windows,
kann man akzeptieren statt zu opportunieren (spätes edit: genau wie Konzentration auf eine Programmiersprache, eben Java),
wobei ich selbst im Windows-Monopol noch manche Vorteile erkennen mag, hat die Computerwelt groß gemacht, je nach subjektiver Interpretation,

ein Tool wie Eclipse (früh zusammen mit der Sprache, der ersten Programmierergeneration)
kann ich mir gut als Mitgrund für Java = Programmiersprache Nummer 1 der Welt vorstellen

kostenlos/ Open Source/ unabhängig ist ein super Anfang (gleich ein paar objektive Vergleichskriterien :wink: ), wenn man noch vor der Wahl steht,

‚JDeveloper von Oracle‘ da käme mir stattdessen sofort ein Fragezeichen, gibts noch anderes?, aber inzwischen ist ja ganz Java von Oracle…

Ganz einfach: Du benutzt es nicht richtig.
Das liegt natuerlich zu 100% an der IDE und niemals an dir selber.
Am besten zu einer kommerziellen IDE wie IntelliJ wechseln.

Zumindest scheinen die meisten Leute diese Einstellung zu haben, ich entschuldige mich immer praeventiv dafuer dass ich mit Eclipse arbeiten kann und keine andere IDE brauche (Muss ja dann mein Fehler sein, oder? ;))

Ansonsten: Ueben, ueben, ueben…

Ich denke auch, dass du die Möglichkeiten der IDE nicht nutzt und sie dir evtl. überladen vorkommen. Aber eine IDE die SVN, Debugging etc nicht Out-of-the-Box unterstützt, ist für mich nicht benutzbar. Das kann Eclipse ohne Probleme, wie deine LieblingsIDE da aussieht kann ich nicht beurteilen.

Wie schon gesagt wurde, gibt es einige objektive Kriterien, die dafür sprechen:

  • Es ist kostenlos + open source
  • Weit verbreitet
  • Gigantisches Ökosystem (Plugins und Konfigurierbarkeit … man kann damit auch C++ programmieren…)
  • Für einige: Die RCP

Die Anzahl der IDEs, auf die “in einer ähnlichen Liga wie Eclipse” spielen, ist recht überschaubar:

  • Eclipse
  • NetBeans
  • IntelliJ
  • … dann wird’s schon dünn. JDeveloper hatte ich bisher z.B. gar nicht auf dem Schirm…

Die Kriterien, warum man sich für eine IDE entscheidet, sind allgemein subjektiv und es gibt verschiedene Einflussfaktoren. Ich hatte z.B. mit dem Borland JBuilder angefangen (weil der “auf der Arbeit verwendet wurde”), und fand den toll. (Wohlgemerkt, es geht um IDEs. Ich hatte vorher jahrelang nur mit TextPad entwickelt :eek: ). Irgendwann wurde der JBuilder nicht mehr richtig weiterentwickelt, und starb dann aus. Eclipse war das nächste, was ich ausprobiert hatte, und jetzt finde ich es toll. Meinen subjektiven Eindrücken nach sind aber z.B. viele, die “früher” Eclipse-Anhänger waren, und dann IntelliJ ausprobiert haben, von letzterem begeistert gewesen, und dabei geblieben.

Für mich persönlich gibt es ein Argument FÜR Eclipse, das im ersten Moment “unwichtig” erscheinen mag: Der integrierte Compiler!!!1111einseinselfelf. Bei Dingen wie Code Completion oder Refactorings nehmen sich die großen IDEs wohl nicht sooo viel. Aber der Compiler ist IMHO noch ein wichtiges Alleinstellungsmerkmal von Eclipse.

wie zeichnet sich der eigene Compiler denn aus? andere IDEs werden ja wohl auch kompilieren,
man muss kein JDK installieren wenn ich das richtig wahrnehme, das ist natürlich schon ein Punkt

JDeveloper war grausam, zumindest zu der Zeit, wo ich ihn benutzen musste.

Mit Eclipse bin ich nie so richtig warm geworden, das Ding kommt mir eher wie ein Baumarkt vor - alles da, aber nur wenn man weiß, wo es steht. Vor allem lügt mich das Teil an: Kompiliert nur, was es will, markiert Sachen als Fehler, die keine sind und beharkt sich dauernd mit Maven - alles geht, aber irgendwie hakelig. Verzichtet man auf Plugins, fehlt der Komfort, installiert man sie, wird das Monster instabil.

Mit NetBeans habe ich gerne gearbeitet, als er so ungefähr mit Version 6.5 auch halbwegs stabil (und vor allem ohne Memory-Leaks) lief und das mit Abstand beste Scala-Plugin hatte. Recht übersichtlich und einsteigerfreundlich, aber bei größeren Projekten hätte ich so meine Bedenken.

Ich arbeite beruflich und privat mit Intellij IDEA, es ist einfach für die meisten praktischen Anwendungsfälle die beste zur Zeit verfügbare IDE. Ich weiß nicht, warum viele wegen der Kosten rumjammern. Alles kein Vergleich zu den Zeiten, wo Borlands JBuilder noch der Platzhirsch war - der kostete vierstellig, und das, wo Geld auch noch etwas wert war (Achtung: Opa erzählt vom Krieg). Für den Arbeitgeber sollte die Kohle für IntelliJ wirklich ein Klacks sein. Privat kommt man eventuell mit der freien Version aus, aber auch da ist der Preis verkraftbar.

@SlaterB Soweit ich das bisher gesehen habe, müssen andere IDEs immer den javac anschmeißen, um zu complieren - und insbesondere auch, um rauszufinden, ob es Fehler gibt. Eclipse zeigt die Fehler on-the-fly an (man braucht die Datei nichtmal zu speichern). Dass es (auch @Landei ) dabei gelegentlich zu Meinungsverschiedenheiten zwischen javac und Eclipse kommt, ist wahr. Speziell bei Dingen, die mit Typinferenz bei verschachtelten Generics zu tun haben, kommt es gelegentlich vor, dass der eine etwas compiliert, was der andere anmeckert. (Erstaunlicherweise war es bei den Fällen, die ich nur von der Sache her (aber nicht mehr im Detail inhaltlich) in Erinnerung habe tendenziell eher so, dass Eclipse da “Recht” hatte, und die echten Bugs eher in javac steckten, aber das kann eine verzerrte Wahrnehmung sein…)

Ja, der Compiler ist ein echter Vorteil. Er wiegt aber die Nachteile gegenüber IDEA mMn nicht auf.

dass könnte man ja mit einem externen Compiler genauso, nur zu programmieren,

kann man in anderen IDEs echt ind k = 4; schreiben ohne gleich einen Fehler angezeigt zu bekommen?
so schlimm wird es doch hoffentlich nicht stehen, da wäre ja alles andere unbenutzbar, dann kann man gleich in einem Texteditor schreiben,

Autovervollständigung, direkte Fehler-Anzeige und F3-Sprung zu anderen Klassen,
das sind die unverzichtbaren Kernelemente,
die auch alle mehr oder weniger zusammengehören, teils ohne Compiler,
die IDE muss wissen wie Klassen, Methoden und Variablen heißen usw., um sie zu vorzuschlagen und zu vervollständigen, um dahin zu springen und um Fehler sofort zu erkennen

Man kann bei IDEA ebenfalls den Eclipse-Compiler nutzen. Man ist also nicht an die Eclipse-IDE gebunden, falls man den Compiler so gut findet.

Der Hauptgrund für die Wahl der IDE wurde schon genannt: Gewöhnung. Die meisten fangen mit einer vorgegebenen IDE an (Uni, Arbeit), und wollen sich einen Umstieg später nicht antun. Oder sie sehen keinen Grund dafür: “die IDE tut doch, was sie soll”. Aus dem Grund habe ich auch nie NetBeans ausprobiert, obwohl viele meinten, es sei besser als Eclipse. Irgendwann wurde hier im Forum aber immer mehr von IDEA geschwärmt, und beim Sale vor 2 Jahren habe ich zugeschlagen. Die Entscheidung habe ich nicht bereut. Neulich habe ich diesen Vortrag entdeckt, und ich war erstaunt, wie viele tolle Sachen ich noch gar nicht kannte.

Mein Ding ist Eclipse auch nicht. Ich nutze es nur, wenn ich was in PHP mache, ansonsten, wenn ich mich in Java einarbeite, dann arbeite ich doch lieber mit Netbeans.

Ich denke das Hauptargument von darekkay passt schon: Gewöhnung.

Effektiv arbeiten kann man sicherlich mit allen 3 von den großen IDEs.
Mit welcher man am effektivsten ist, muss man dann je nach eigenem Anwendungsfall austesten.

Persönlich fand ich an IntelliJ angenehm, dass alles aus einem Guss ist oder sich zumindest so anfühlt.
Code completion oder Refactoring geht in einer xml-pom von Maven genauso wie in einer Java-Klasse (nach viel find/replace-Gefrickel in Eclipse ein echter Segen).

Mit Netbeans hatte ich nie viel zu tun, bei ein paar schnellen Versuchen war aber die EE-Integration mit Servereinstellungen und Deploy-Zeugs ganz nett (sehr grober Eindruck).

Bei Eclipse ist der angesprochene Compiler ganz nett, dadurch dauert hier aber auch die Entwicklung bei neuen Sprachfeatures ewig.
Der späte Support von Java8 kam schließlich auch dadurch zustande, dass der eigene Compiler nachgezogen werden musste.
Dafür kann das Ding auch noch sehr „kaputten“ Code ausführen und früh Fehler anzeigen.
Ob man das mag ist geschmackssache denke ich, manchmal kriegt man halt auch die angesprochenen Abweichungen :rolleyes:
Seit dem letzten (oder vorletzten?) Release ist in Eclipse auch Code Recommenders dabei ([LD] Eclipse Code Recommenders #1 - Setup | Let's Develop With - YouTube).
Gerade wenn man nicht so stark in Swing o.ä. drinsteckt, kann man da ein bisschen Zeit sparen :cool:

Seit IntelliJ IDEA 12 kann das auch live und im Hintergrund passieren. Siehe zu technischen Details auch hier: Brand New Compiler Mode in IntelliJ IDEA 12 Leda | The IntelliJ IDEA Blog
Neben javac werden mittlerweile auch der Eclipse-Compiler und der AspectJ-Compiler unterstützt. „Kaputten Code“ kann man mit dem Eclipse-Compiler dann auch ausführen.

Das und was auf der Arbeit etabliert ist.

Ich bin bei uns der einzige Entwickler, der kein Eclipse nutzt. Wenn mich meine Mitarbeiter fragen, warum ich IntelliJ nutze, zeige ich ihnen ein paar ausgewählte Features, die man in unserem Alltag braucht aber bei Eclipse nicht bekommt (z.B. die bessere GWT-Unterstützung, obwohl das offizielle Plugin von Google nur für Eclipse entwickelt wurde). Alle sind begeistert, aber letztendlich gibt es aber zwei Gründe, warum noch niemand umgestiegen ist: fehlende Zeit/Motivation für die Einarbeitung und das Geld (obwohl ich den Preis vernünftig finde).

Du hast Dir selbst eine kommerzielle Lizenz für IDEA gekauft? Das übernimmt nicht Dein Arbeitgeber? Ich finde den Preis dann ziemlich happig, muss ich sagen.

für quasi das Werkzeug zur Arbeit (*), zum Geldverdienen, jeden Tag zig Stunden Nutzung,
wer weiß wieviel Einsparung an Zeit = Geld, schon verständlich,

man vergleiche auch die Zeit mit einem Buch und Preis dafür, welches als Fortbildung auch dick was kosten darf,

für einen professionellen Handwerker darf es ja auch die 200 Euro Bohrmaschine sein statt 30 Euro vom Baumarkt (oder gar umsonst aus dubioseren Quellen)

gegenüber einen Texteditor würde ich für Eclipse notfalls auch ne Menge hinblättern, wenn nicht erst noch ‚mach ich gleich selber‘-Modus :wink:
aber ob IntelliJ dann soviel besser, davon muss man erstmal überzeugt sein

(*) Rechner, Betriebssystem und anderes zählen natürlich genauso

Solange der Arbeitgeber das nicht übernimmt, darf er auch kommerziell bei der Arbeit mit der Personal Lizenz arbeiten. Und die ist vom Preis her ok.

[QUOTE=SlaterB]für quasi das Werkzeug zur Arbeit (*), zum Geldverdienen, jeden Tag zig Stunden Nutzung,
wer weiß wieviel Einsparung an Zeit = Geld, schon verständlich,

man vergleiche auch die Zeit mit einem Buch und Preis dafür, welches als Fortbildung auch dick was kosten darf,

für einen professionellen Handwerker darf es ja auch die 200 Euro Bohrmaschine sein statt 30 Euro vom Baumarkt (oder gar umsonst aus dubioseren Quellen)

gegenüber einen Texteditor würde ich für Eclipse notfalls auch ne Menge hinblättern, wenn nicht erst noch ‚mach ich gleich selber‘-Modus :wink:
aber ob IntelliJ dann soviel besser, davon muss man erstmal überzeugt sein

(*) Rechner, Betriebssystem und anderes zählen natürlich genauso[/QUOTE]
Das sehe ich ganz genauso. Allerdings sollte der Kostenfaktor (bzw. die eingesparte Zeit) dem AG in der Regel auch klar sein. Da würde ich schon erwarten, dass dieser sich beteiligt.

Wo genau nimmst Du diese Information her?