IntelliJ IDEA vs. Eclipse vs. NetBeans für die „reine Java“-Entwicklung [geschlossen]

Wichtiger privater Beta-Hinweis: Dies ist eine Testfrage für diesen Vorschlag zu Meta: Advocating „X vs Y“-Fragen .

Natürlich sind IntelliJ IDEA, Eclipse und NetBeans hervorragende plattformübergreifende IDEs mit einer großen Anzahl von Funktionen und zahlreichen Plugins für jeden Bedarf. Ich weiß, dass es erhebliche Unterschiede zwischen ihnen für die Entwicklung von Java EE (IntellJ ist nicht kostenlos ) und Android (IntelliJ-unterstütztes Android Studio wird von Google betrieben und scheint ein neuer Standard zu werden) gibt.

Aber die Wahl ist schwieriger, wenn ich "reine Java"-Software entwickle. Welche einzigartigen Vorteile hat jede dieser IDEs, die mich dazu bringen könnten, sie zu verwenden?

Ich würde sagen, diese Frage ist zu weit gefasst, wenn Sie Ihre Anforderungen nicht genauer beschreiben. Sie können so viele Dinge rund um "reines Java" tun. Wie wäre es mit einer Frage wie "Welcher Editor bietet das automatische Herunterladen und Importieren von JARs aus einem Maven-Repo nach automatischer Vervollständigung?"
@NicolasRaoul, bitte lies meine Antwort auf Meta. Ich könnte unzählige Anforderungen auflisten, aber all diese IDEs erfüllen sie alle. Es hilft nicht, Java IDE zu wählen.
Würden Sie uns Ihr Betriebssystem mitteilen? Obwohl alle von Ihnen aufgelisteten IDEs plattformübergreifend sind, verhalten sie sich unter verschiedenen Betriebssystemen nicht gleich, hauptsächlich in Bezug auf Leistung und Stabilität
@IvayloSlavov meine eigene Plattform ist Linux, aber ich möchte die Frage nicht lokalisieren. dh Ihre Antwort könnte so aussehen: "IDE X ist besser als Konkurrenten auf Plattform Y, weil ..."
Bis dies im Meta-Thema vollständig besprochen ist, halte ich es nicht für angebracht, für das Schließen zu stimmen

Antworten (1)

Als Java-Softwareentwickler teile ich gerne meine persönlichen Erfahrungen mit Ihnen. Zunächst muss ich erwähnen, dass meine gesamte Erfahrung mit den oben genannten IDEs auf der Linux-Plattform liegt, aber ich habe gesehen, dass das, was für dieses Betriebssystem gilt, nicht dasselbe ist wie für Windows oder MAC. Außerdem werde ich unter Berücksichtigung Ihrer "reinen Java"-Beschränkung nicht auf Funktionen eingehen, die sich auf andere Sprachen/Frameworks usw. beziehen, die möglicherweise unterstützt werden. Auf geht's:

Finsternis

Die guten Dinge an dieser IDE sind:

  • der optisch ansprechendste der drei, persönliche meinung
  • einfache Quellcode-Navigation
  • Die Navigation zwischen Maven-Pom-Dateien enthält beim Klicken auf Abhängigkeiten Info-Tooltips
  • gute Arbeitsbereichsstruktur, ermöglicht das Erstellen von Arbeitssets – Gruppen von Projekten innerhalb eines Arbeitsbereichs, sodass man sich auf ein konkretes Arbeitsset anstatt auf den gesamten Arbeitsbereich konzentrieren kann.
  • ausgezeichnetes Debugging
  • mehrere Perspektiven (dedizierte Sprachentwicklung wie Java, Spring, JavaScript, Debug-Perspektive usw.). Jede Perspektive hat ihre eigenen Einstellungen für Ansichten, Position von Fenstern und Werkzeugen usw., die automatisch von der IDE gespeichert werden. Für mich ist dies ein wertvoller Vorteil, obwohl die Konfiguration nur pro Arbeitsbereich gepflegt wird.
  • ermöglicht das einfache Importieren und Debuggen von Quellcode von Drittanbietern. Manchmal muss der Code manuell heruntergeladen werden, aber der Rest finde ich einfach genug

Nachteile:

  • es ist langsam beim Laden, ungeschickt bei Interaktionen. Mit zusätzlichen Plugins wird es langsamer.
  • stürzt oft ab, besonders unter Linux (Windows-Versionen sind zuverlässiger), es ist gut, es in ein paar Tagen neu zu starten.
  • Unter Linux verzögern Versionen über 3.0 einige Sekunden vor dem Öffnen einer Markup-Datei (XML, JSF), was sehr kontraproduktiv ist.
  • Versionen unter 3.0 haben das obige Markup-Problem nicht, aber es fehlt die Unterstützung für Java 1.7-Syntaxfunktionen (z. B. die kurzen Generika).
  • JSF fehlt die automatische Vervollständigung
  • Mac-Versionen haben inkonsistente Konventionen für Verknüpfungen, einige verwenden die Ctrl + ?Kombination, andere verwenden die FN + ?. Benutzer, die mit der IDE auf anderen Betriebssystemen vertraut sind, sind zunächst frustriert
  • Das Verschieben von Dateien zwischen Paketen/Projekten kann mühsam sein, da Kopieren (Ausschneiden)/Einfügen manchmal nicht funktioniert, sondern nur Drag & Drop

  • plötzliches Einfrieren bei der automatischen Vervollständigung, nur durch Neustart der IDE behoben (kann durch Minimieren und Wiederherstellen umgangen werden, aber die Menübefehle und zugehörigen Tastaturkürzel funktionieren nicht mehr - dh Datei kann bearbeitet, aber nicht gespeichert werden. Kopieren und Einfügen nach extern Editor möglich)

  • interne IDE-Aufgabenprozesse sind nicht zuverlässig. Mögliches Aufhängen, Unfähigkeit zum Stoppen oder sogar Deadlock, wenn mehrere Aufgaben mit gemeinsam genutzten Ressourcen gestartet werden (wie das mehrmalige Aktualisieren des SVN-Repositorys, was mehr als einen Aktualisierungsprozess verursacht).

IntelliJ-IDEE

Ich habe nur Erfahrung mit dieser IDE unter Linux, vielleicht gibt es auf anderen Plattformen Unterschiede, die ich vielleicht vermisse

Vorteile:

  • intuitiv zu bedienen
  • ausgezeichnete Code-Navigation
  • Unterstützung für Eclipse-Projekte (kann als IDEA-Projekte importiert werden)
  • ausgezeichnetes und ausführliches Refactoring
  • Zugriff auf den Dateisystemspeicherort einer Datei aus der Projektansicht über das Rechtsklickmenü (eine Funktion, die mir in Eclipse fehlt)

Nachteile

  • für Frühlings-XML-Kontexte erkennt es nicht alle Attribute, obwohl es die importierten XML-Schemata abgerufen hat. Das eigentliche Problem ist die Fehlerhervorhebung, die unerfahrene Entwickler verwirren kann
  • Arbeiten mit Subversion (Überprüfen und Synchronisieren von Änderungen) nicht so intuitiv wie in Eclipse
  • Falsche Fehlersyntaxfärbung in pom.xml-Dateien, wenn Maven-Eigenschaften anstelle von Literalen für Abhängigkeiten (wie die Versionsnummer usw.) verwendet werden. Dies kann unerfahrene Personen verwirren.

NetBeans

Der Vorteil, den ich mir vorstellen kann:

  • Für die Webentwicklung verfügt es über einen eingebetteten Server, der das Hosten einer Webanwendung für Debug-Zwecke erleichtert, ohne einen externen Server einzurichten und darauf bereitzustellen.

Nachteil:

  • langsame Ladezeit

Ich habe in der Vergangenheit NetBeans verwendet und es Eclipse vorgezogen, da es zu diesem Zeitpunkt stabiler war und weniger Ressourcen verbrauchte. Aber dann gehörte zu meiner Nutzung, dass ich meine Hausaufgaben an der Universität machte. Ich habe diese IDE nicht beruflich genutzt , da meine Arbeitsumgebungen die oben genannten Optionen für Java bevorzugten, daher würde ich mich nicht auf einen Vergleich einlassen.

Meine persönliche Wahl fällt in Richtung Eclipse, da ich damit besser vertraut bin, obwohl es viel mehr Nachteile hat. Ich bevorzuge es wegen seiner Fähigkeiten, den Arbeitsbereich zu organisieren und es mir zu ermöglichen, mich besser auf die aktuelle Aufgabe zu konzentrieren. Wie gesagt, die mehreren Perspektiven helfen sehr, da ich jede so konfiguriert habe, dass sie für die konkrete Aufgabe, an der ich arbeite, am besten geeignet ist. Ich mag auch die ausführliche Ausgabe von Subversion, da es für mich wichtig ist, meine Commits/Updates richtig zu verfolgen.

IntelliJ IDEA macht es mir leicht, mich daran anzupassen, obwohl es in der Tat weniger aufdringlich und intelligent ist. Es erkennt automatisch mehrere Projekttypen und fragt Sie im Moment, ob etwas zusätzliche Konfiguration benötigt. Wenn Sie beispielsweise ein Maven-Projekt importieren und das Maven-Home-Verzeichnis nicht eingerichtet ist, werden Sie danach gefragt, wenn Sie versuchen, Maven-bezogene Aufgaben auszuführen, und sich an Ihre Wahl erinnern. Offensichtlich versucht die IDE, Sie bei der Konfiguration und angemessenen Verwendung zu unterstützen. In Kombination mit seiner Stabilität und Reaktionsfähigkeit (im Vergleich zu Eclipse) fühlt es sich als eine viel zuverlässigere Umgebung an. Ich muss zugeben, dass ich mich nicht eingehend mit der Anpassung beschäftigt habe, aber es ist ein Kandidat dafür, meine IDE der Wahl zu werden.

Bitte versuchen Sie, sich auf die Unterschiede zu konzentrieren. Zum Beispiel ist es unnötig zu erwähnen, dass alle diese IDEs kostenlos sind und viel Speicher verbrauchen (das ist Java). Setzen Sie die wichtigsten Punkte kursiv .
@leventov ok, ich habe das Speichermaterial entfernt und betont, was ich für wichtig halte
Alle erwähnten IDEs haben Plugin-Unterstützung. plugins.jetbrains.com/?idea_ce
@MariuszS ja, das ist so. Ich scheine dies für IntelliJ Idea verpasst zu haben, jetzt behoben
Ich denke, Sie sollten Plugin-Informationen entfernen, alle IDEs sind hier ähnlich.
@MariuszS, habe ich, aber ich scheine vergessen zu haben, aber zu schreiben.