Wie ist IntelliJ besser als Eclipse? [geschlossen]

67

Ich weiß, es gab Fragen wie Was ist Ihr Lieblingseditor / IDE? , aber keiner von ihnen hat diese Frage beantwortet: Warum das Geld für IntelliJ ausgeben, wenn Eclipse kostenlos ist?

Ich persönlich bin ein großer IntelliJ-Fan, aber ich habe Eclipse noch nicht wirklich ausprobiert. Ich habe IntelliJ für Projekte verwendet, die Java, JSP, HTML / CSS, Javascript, PHP und Actionscript waren, und die neueste Version 9 war für alle hervorragend .

Viele Kollegen in der Vergangenheit haben mir gesagt, dass sie Eclipse als "ziemlich gleich" wie IntelliJ ansehen, aber um dem entgegenzuwirken, habe ich gelegentlich hinter einem Entwickler gesessen, der Eclipse verwendet, der vergleichsweise ineffizient zu sein schien (um ungefähr dasselbe zu erreichen) Aufgabe), und ich habe dies mit IntelliJ nicht erlebt. Möglicherweise sind sie von Feature zu Feature gleichwertig, aber Features können durch eine schlechte Benutzererfahrung ruiniert werden, und ich frage mich, ob es möglich ist, dass IntelliJ einfacher ist, zeitsparende Features zu finden und zu entdecken.

Für Benutzer, die bereits mit Eclipse vertraut sind, fallen zusätzlich zu den tatsächlichen Kosten für IntelliJ auch die Kosten für das Erlernen der neuen App an. Eclipse hat eine Menge Benutzer, die einfach keine 250 US-Dollar für eine IDE ausgeben möchten.

Wenn IntelliJ meinem Team wirklich helfen könnte, produktiver zu werden, wie könnte ich es ihnen verkaufen? Für diejenigen Benutzer, die beides ausprobiert haben, wäre ich sehr an bestimmten Vor- oder Nachteilen interessiert.

Nicole
quelle
3
Möglicherweise sehen Sie hier eine gewisse Auswahlverzerrung. Ein IntelliJ-Kunde lernt die Funktionen und Verknüpfungen sehr viel häufiger als ein durchschnittlicher Eclipse-Benutzer.
Macneil,
3
Ich würde andere nicht dazu drängen, die Tools zu verwenden, die für Sie funktionieren. Dies ist sehr subjektiv und dumme Dinge wie diese können eine bereits bestehende Beziehung ruinieren. Wenn Sie die Wahl zwischen IntelliJ oder Eclipse haben und das Projekt mit beiden Methoden problemlos kompiliert werden kann, verwenden Sie IntelliJ. Wenn Sie es fördern möchten, dann erwähnen Sie es beiläufig, wenn der richtige Zeitpunkt gekommen ist. Erwachsene hassen es genauso wie Kinder, wenn andere versuchen, Entscheidungen für sie zu treffen. Sie können sie immer noch dazu bringen, zu wechseln, aber es muss "IHRE" Entscheidung sein, und Sie müssen nur die richtige Menge an Buzz zum richtigen Zeitpunkt machen.
Job
@Job, dem stimme ich zu. Ich würde gerne herausfinden, A) ob IntelliJ einen echten Vorteil gegenüber Eclipse hat, so dass B) wenn ja, ich es verkaufen kann, es nicht mandatieren kann.
Nicole
Sie wissen, dass IntelliJ eine kostenlose Version hat, oder? Sie können es nicht so klingen lassen, als ob die einzige Option die kostenpflichtige Version ist
TheLQ
@TheLQ, Sie haben Recht, der Kürze halber habe ich angenommen, dass Benutzer, die mit IntelliJ vertraut sind, auch mit den Einschränkungen der kostenlosen Version vertraut sind. Ich persönlich hatte noch nie ein Projekt, bei dem es von Nutzen war, da ich immer mehr als nur die reine Java-Komponente brauchte.
Nicole

Antworten:

63

Ich arbeite jeden Tag mit Intellij (9.0.4 Ultimate) und Eclipse (Helios) und Intellij schlägt jedes Mal Eclipse.

Wie? Weil Intellij die Welt indiziert und alles nur intuitiv funktioniert. In Intellij kann ich viel, viel schneller in meiner Codebasis navigieren. F3 (Typdefinition) funktioniert für alles - Java, JavaScript, XML, XSD, Android, Spring-Kontexte. Refactoring funktioniert überall und ist absolut zuverlässig (ich hatte Probleme damit, dass Eclipse meine Quelle auf seltsame Weise durcheinander gebracht hat). STRG + G (wo verwendet) funktioniert überall . STRG + T (Implementierungen) verfolgt die am häufigsten verwendeten Instanzen und zeigt sie zuerst an.

Vorschläge zur Code-Vervollständigung und zum Umbenennen sind so clever, dass Sie erst erkennen, wie viel es für Sie getan hat, wenn Sie zu Eclipse zurückkehren. getResourceAsStream("/Denken Sie beispielsweise daran, eine Ressource aus dem Klassenpfad zu lesen, indem Sie an dieser Stelle Folgendes eingeben: In Intellij wird eine Liste möglicher Dateien angezeigt, die derzeit im Klassenpfad verfügbar sind, und Sie können schnell einen Drilldown zu der gewünschten Datei durchführen. Eclipse - nein.

Das (sofort einsatzbereite) Spring-Plugin für Intellij ist SpringIDE in erster Linie aufgrund seiner Code-Inspektionen weit überlegen. Wenn ich den Unterricht verpasst oder etwas falsch geschrieben habe, bekomme ich einen roten Block in der Ecke und rote Tinte genau dort, wo das Problem liegt. Eclipse - ein bisschen.

Insgesamt sammelt Intellij viel Wissen über Ihre Anwendung und verwendet dieses Wissen, um Ihnen dabei zu helfen, besseren Code schneller zu schreiben.

Versteh mich nicht falsch, ich liebe Eclipse to Bits. Für den Preis gibt es keinen Ersatz und ich empfehle es meinen Kunden in Abwesenheit von Intellij. Aber als ich Intellij ausprobiert hatte, hat es sich innerhalb einer Woche ausgezahlt, also habe ich es gekauft und seitdem jedes der größeren Upgrades. Ich habe nie zurückgeschaut.

Gary Rowe
quelle
Genau das, wonach ich gesucht habe. Eine Frage: Ich glaube, ich habe ein paar andere Tastenzuordnungen als Sie. Können Sie klarstellen, um welche Funktionen es sich handelt?
Nicole
2
Sie können IntelliJ so einstellen, dass Eclipse-Verknüpfungen verwendet werden? Das könnte nur der letzte Schubs sein, den ich wirklich brauche, um IntelliJ auszuprobieren - mein Muskelgedächtnis hielt mich zurück. Danke für den Tipp!
Yatima2975
9
@ yatima2975 Keine Sorge. Schauen Sie einfach in die Einstellungen, filtern Sie nach "keymap" und wählen Sie "Eclipse". Du hast Emacs und ein paar andere auch.
Gary Rowe
1
Auf meinem Linux-Computer bin ich kürzlich für ein Java / Android-Projekt von Eclipse auf IntelliJ IDEA Community Edition (Open Source und völlig kostenlos) umgestiegen, und ich hatte die gleichen guten Erfahrungen. IDEA ist einfach fantastisch. Laden Sie es hier herunter: jetbrains.com/idea/free_java_ide.html . Wie JetBrains behauptet, ist IDEA die intelligenteste Java-IDE auf dem Markt. Verstehen Sie mich auch nicht falsch: Ich verwende und liebe Eclipse-, NetBeans- und Qt Creator-IDEs (abhängig von der jeweiligen Aufgabe und Sprache).
AlexBottoni
2
Ich werde den Schwerpunkt auf die Javascript-Unterstützung sowie andere Front-End-Sprachen legen. In Intellij ist WebStorm enthalten, das für sich genommen fantastisch für das Front-End ist.
y3sh
16

Ich höre, dass der Unterschied zu IntelliJ darin besteht, dass sie mit viel größerer Wahrscheinlichkeit Fehler beheben und schließen , die Sie einreichen. Das könnte einen großen Unterschied machen, wenn es einen Eclipse-Fehler gibt, der Sie blockiert.

Auf der anderen Seite können Sie IDEs nicht isoliert betrachten. Sie müssen das Ökosystem betrachten . Ich denke, dass Eclipse einen Vorteil hat (ähnlich wie Firefox gegenüber Chrome *): Es sind viel mehr Plug-Ins verfügbar, und Entwickler schreiben sehr viel häufiger ein Eclipse-Plug-In als ansonsten.

[Tangens: * Für Firefox denke ich an Zotero und HTTPS-Everywhere. Ich verwende sowohl Chrome als auch Firefox, aber einige Dinge kann Chrome einfach nicht verarbeiten. Auch wenn ich Handouts mache, brauche ich wirklich eine Druckvorschau.]

Macneil
quelle
Gibt es Fakten, die die Aussage über die Behebung von Fehlern stützen? (Ich selbst habe immer Probleme, wenn ich eine solche Messung vergleiche, insbesondere mit Software, bei der man den Bug-Zufluss nicht leicht erkennen kann ... wie die meisten kommerziellen Softwareprodukte und sogar einige Open-Source-Produkte)
Johannes,
@johannes Ich kann mich zwar persönlich dafür verbürgen, aber Sie können sich unter youtrack.jetbrains.com/issues
y3sh
1
Zwar bietet Eclipse einen größeren Satz von Plugins an, aber IntelliJ bietet auch alle erforderlichen Plugins an, um die Aufgabe zu erledigen. Mit anderen Worten, der Zahlenvorteil für die Verfügbarkeit von Plugins sollte im Kontext gesehen werden. Ich sehe dies als Hauptgrund, warum Eclipse IntelliJ vorgezogen wird.
E28Makaveli
13

Haftungsausschluss
Dies ist nur auf die Android-Entwicklung beschränkt (in Java natürlich).

Ich komme dazu mit einigen begrenzten Kenntnissen über Eclipse und IntelliJ; Vor kurzem musste ich mich jedoch für eine Entwicklungsumgebung für Android entscheiden. Es scheint, dass die erste klare Entscheidung die Verwendung von Eclipse ist, da Google es mit seinem ADT-Plugin unterstützt. Leider fand ich es schrecklich umständlich, mich fortzubewegen, da ich an Visual Studio gewöhnt bin (2010, in jüngerer Zeit 2012). Ich habe ReSharper immer mit Visual Studio verwendet, daher habe ich mich entschlossen, es mit IntelliJ zu versuchen. Nach ca. 10 Minuten wurde mir klar, dass ich die richtige Entscheidung getroffen hatte.

IntelliJ indiziert, wie einige gesagt haben, alles. Es war eine Freude, mit dem Intellisense zu arbeiten, und die Informationen zu den Vorschlägen waren hervorragend. Die Debug-Erfahrung, die ich als Vergnügen empfand, und ganz ehrlich, ich könnte ohne die Code-Analyse wirklich nicht leben. Ich weiß, dass viele Puristen ein Problem damit haben würden, aber das ist mir egal. Ich muss Projekte für viele Leute sehr schnell veröffentlichen, deshalb ist es manchmal einfach schön, die Code-Analyse durchzuführen und zu sehen, was die IDE vorschlägt. Ob Sie diese Vorschläge annehmen oder nicht, ist eine andere Geschichte, aber ich habe so etwas in Eclipse nicht gefunden.

Einige sagen auch, dass es in der aktuellen Version von IntelliJ keinen Android-Designer gibt. Dies ist sicherlich der Fall, aber ich würde es sowieso nie benutzen. Ich debugge die meiste Zeit auf einem Gerät, es spielt also keine Rolle. Ich sehe die Benutzeroberfläche und spiele jedes Mal damit, wenn ich das Programm starte. Wie auch immer, von einem traditionellen "Nicht-Java" Typ muss ich sagen, dass Java im Vergleich zu Eclipse besonders gut ist.

Nodey The Node Guy
quelle
6

Sie müssen anschaulich und ohne Zweifel nachweisen, dass IntelliJ für die Aufgaben, die Sie täglich ausführen müssen, im Vergleich zu Eclipse (und NetBeans) erheblich Zeit und Mühe spart.

Dazu müssen Sie einige Nachforschungen anstellen, um herauszufinden, was das sein könnte, und dann eine Demonstration erstellen, die dies den Menschen zeigt, die entscheiden können, wie sie arbeiten sollen.

Mein Verdacht ist, dass Sie dies als eine ziemlich schwierige Aufgabe ansehen werden, da Eclipse heutzutage einigermaßen erfolgreich sein kann. Wenn Sie Mörderpunkte finden, teilen Sie sie bitte mit - ich bin sicher, dass Sie viel wissen möchten.


quelle
2
"Wenn Sie Mörderpunkte finden, teilen Sie sie bitte mit - ich bin sicher, dass Sie viel wissen möchten." - Deshalb frage ich eigentlich - es ist schwierig, Zeit für diese Recherche zu finden oder Eclipse selbst auszuprobieren (und ich bin wahrscheinlich sowieso voreingenommen). Ich hoffe, ich entdecke einige Benutzer, die mit beiden gute Erfahrungen gemacht haben!
Nicole
1
@ Thorbjørn Stimmt, aber ich spreche von allgemeinen Aufgaben, die zumindest für alle Anwendungsfälle gelten, die ich hatte und die meiner Meinung nach ziemlich umfangreich sind. Aber wenn es etwas Bestimmtes gibt, wäre es schön zu wissen, was das auch ist.
Nicole
1
@ Thorbjørn Du hast Recht, was sie überzeugen wird, aber ich denke, hier gelten allgemeine Aufgaben. Meine Produktivität wird 10: 1 durch allgemeine Funktionen einer IDE im Vergleich zu Funktionsuntergruppen erhöht, die sich auf meinen spezifischen Job beziehen. Mit anderen Worten, Standard - IDE - Funktionen sind , was mir / ihr bei der täglichen Arbeit helfen.
Nicole
2
Tatsächlich müssen Sie für die Kosten nur nachweisen, dass Sie im Laufe der vorgesehenen Nutzungsdauer mindestens ~ 10 Stunden Produktivität einsparen können (vorausgesetzt, Sie zahlen 25 US-Dollar pro Stunde für den Programmierer). Alles danach ist Soße.
Steven Evers
1
Nur für das Protokoll. Eclipse und IntelliJ (und Netbeans) funktionieren gut mit Maven. Wenn Sie also Maven-Projekte verwenden, können Sie die für die jeweilige Situation am besten geeignete IDE verwenden.
5

Intellij ist aus vielen Gründen besser, nicht zuletzt wegen des Darcula-Themas ... aber es gibt noch ein paar andere:

  • Autovervollständigen für Methodennamen - es bietet, wie ich sie nennen möchte, die Usign-Konvention.
  • jquery autocomplete ist sehr einfach einzurichten (habe es nie mit eclipse geschafft).
  • EL autocomplete in jsp's
  • Federintegration und Inspektion zeigt Fehler in der Einrichtung (zB doppelte Bean-Namen)
  • Autovervollständigen für Controller- / URL-Zuordnungen
  • Einfach zu bedienen und Datenbankintegraion einzurichten (es erkennt die Datenquelle automatisch) und automatisch zu vervollständigen
  • Code-Inspektionen, wie Checkstyle und Findbugs, sind integriert und einfach zu bedienen.
  • jslint und jshint sind integriert und einfach zu bedienen.
  • Die Integration von Maven funktioniert sofort.
  • Alle Einstellungen befinden sich dort, wo Sie sie erwarten.
  • Es werden keine Fehler falsch erkannt. Ich habe in eclisp Fehler hervorgehoben, bei denen es keine gab, und musste neu starten.
  • Autocomplete und Fehlererkennung in XML-Dateien (eine große Sache mit Spring)
  • Für Zuordnungen im Ruhezustand ist die automatische Vervollständigung aktiviert (die Felder eines Pojos werden als automatische Vervollständigungsoption im zugeordneten Pojogr8 bereitgestellt).
  • Strg + Alt + Klick öffnet die Implementierung, nicht die Deklaration
  • Hotdeploy: Sie können es ganz einfach so einrichten, dass Ihre bereitgestellte App automatisch aktualisiert wird, wenn Intellij den Fokus verliert. Ich wechsle zu meinem Browser und der neue Code (seien es Klassen, Javascript oder JSPs) ist bereits bereitgestellt.
  • Ein integrierter Ruheclient ohne zusätzliche Konfiguration.
  • Eingebauter Chat-Client, der Code-Zeiger erlaubt - eigentlich sehr nützlich.
  • Persistenz-Ansicht, einfacher Zugriff auf all Ihre jpa / hibernate Entities und Einstellungen.
  • Fehlerbehebung, tatsächlich zur Rechenschaft gezogene Fehlerbehebung Ich habe eine Reihe von Fehlern gemeldet, die umgehend behoben wurden.
  • Inspektion und automatische Vervollständigung in Ihren XML-Dokumenten, sehr, sehr nützlich bei Spring (ich weiß, dies ist eine Wiederholung, aber es ist großartig, enthüllte eine Vielzahl von Fehlern).

Ich benutze es seit 3 ​​Wochen und hoffe, bald mehr zu finden. Es ist das Geld wert.

Oh noch eine Sache , die sich tatsächlich öffnet ... Ich hatte einen Fehler in meiner Sonnenfinsternis, der bedeutete, dass sie sich weigern würde, sich zu öffnen. Nur "Google Eclipse lässt sich nicht öffnen" gibt es jede Menge Links. Ich bin dumm, dass ich so lange gebraucht habe, um mich zu ändern.

NimChimpsky
quelle
Dies ist eine sehr hilfreiche Liste, aber Sie haben vergessen zu erwähnen, über welche IDE Sie sprechen. Ausgehend von Ihrer Erwähnung von Version 12 im letzten Satz, handelt es sich vermutlich nur um IntelliJ.
Xander Dunn
3

Google hat kürzlich angekündigt, die Android-Entwicklung auf IntelliJ zu verlagern.

Dafür gibt es einen Grund. Ich benutze Eclipse seit einigen Jahren als Umgebung, um Kurse in C ++ und Android / JAVA zu unterrichten. Ich habe beobachtet, wie sich die Qualität von Eclipse verschlechterte und sich etwas Unbrauchbarem näherte. Im Herbst 2012 habe ich Eclipse Juno für meinen Kurs gewählt und es war eine Katastrophe ohne Ende. Das Programm war nicht nur unglaublich träge und voller Bugs, es hatte auch einige Änderungen an der Benutzeroberfläche, die alles andere als dumm waren. Ich benutze es jetzt als Fallstudie in schlechtem Benutzeroberflächendesign.

Ich kann Eclipse zu diesem Zeitpunkt niemandem empfehlen. Die Bug-Datenbank ist so groß geworden, dass es keine Chance gibt, dass sie jemals auch nur einen kleinen Bruchteil von ihnen ansprechen.

Charles
quelle
Dies ist auf hohem Niveau hilfreich, aber können Sie weitere Details angeben?
Kazark
1

Ich kenne keine soliden Feature-by-Feature-Hiebe, aber eine Sache, die ich beim ununterbrochenen Einsatz der IntelliJ-Umgebung über ein Jahrzehnt hinweg entdeckt habe, ist, dass die Designteams von JetBrains großartige Arbeit geleistet haben Sowohl die IDE als auch die Indizierungs- und Autovervollständigungsfunktionen sind reaktionsschnell und konsistent - ich denke normalerweise nicht darüber nach, aber mit der Reaktionsschnelligkeit plus der Anzahl der Tastenkombinationen (und der Fähigkeit zuzuordnen) mehr), IntelliJ macht es sehr einfach, mit dem Editor "Muskelgedächtnis" aufzubauen.

Es ist keine Kleinigkeit, wenn Sie Code schreiben, automatisch vervollständigen, kompilieren und testen können, ohne die Tastatur mit den Fingern zu verlassen, und auf eine Weise, die sich nicht wie eine stereotype, träge Java-App anfühlt.

Chad Thompson
quelle