In che modo IntelliJ è meglio di Eclipse? [chiuso]


67

So che ci sono state domande come: qual è il tuo editor / IDE preferito? , ma nessuno di loro ha risposto a questa domanda: perché spendere soldi per IntelliJ quando Eclipse è gratuito?

Personalmente sono un grande fan di IntelliJ, ma non ho mai provato Eclipse. Ho usato IntelliJ per progetti che erano Java, JSP, HTML / CSS, Javascript, PHP e Actionscript e l'ultima versione, 9, è stata eccellente per tutti.

Molti colleghi in passato mi hanno detto che credono che Eclipse sia "praticamente la stessa" di IntelliJ, ma, per contrastare quel punto, mi sono occasionalmente seduto dietro uno sviluppatore che utilizza Eclipse che è comparativamente inefficiente (per ottenere approssimativamente lo stesso compito) e non l'ho mai provato con IntelliJ. Potrebbero essere alla pari funzionalità per funzionalità, ma le funzionalità possono essere rovinate da una scarsa esperienza utente e mi chiedo se è possibile che IntelliJ sia più facile da acquisire e scoprire funzionalità che fanno risparmiare tempo.

Per gli utenti che hanno già familiarità con Eclipse, oltre al costo reale di IntelliJ, c'è anche il costo del tempo dedicato all'apprendimento della nuova app. Eclipse attira molti utenti che semplicemente non vogliono spendere $ 250 per un IDE.

Se IntelliJ potesse davvero aiutare il mio team a essere più produttivo, come potrei venderlo a loro? Per quegli utenti che hanno provato entrambi, sarei molto interessato a pro o contro specifici in entrambi i modi.


3
Potresti vedere alcuni errori di selezione qui. È molto più probabile che un cliente IntelliJ apprenda le funzionalità e le scorciatoie rispetto all'utente medio Eclipse.
Macneil,

3
Non spingerei gli altri a usare gli strumenti che funzionano per te. Questo è altamente soggettivo e cose stupide come queste possono rovinare una relazione già stabilita. Se hai la scelta di usare IntelliJ o Eclipse, e il progetto si compila bene usando uno di questi, eliminalo, usa IntelliJ. Se vuoi promuoverlo, menzionalo casualmente quando è il momento giusto. Gli adulti lo odiano tanto quanto i bambini quando gli altri cercano di prendere decisioni per loro. Puoi ancora farli cambiare, ma deve essere una decisione "LORO", e quindi devi solo fare il giusto buzz alla giusta tm.
Giobbe

@Job, sono d'accordo. Vorrei scoprire A) se IntelliJ ha un vero vantaggio rispetto a Eclipse, quindi B) se lo fa, posso venderlo, non imporlo.
Nicole,

Ti rendi conto che IntelliJ ha una versione gratuita, giusto? Non puoi far sembrare che l' unica opzione sia la versione a pagamento
TheLQ,

@TheLQ, hai ragione, per brevità ho ipotizzato che gli utenti che hanno familiarità con IntelliJ avrebbero anche familiarità con i limiti della versione gratuita. Personalmente non ho mai avuto un progetto in cui fosse utile, poiché ho sempre avuto bisogno di qualcosa di più del semplice componente Java.
Nicole,

Risposte:


63

Lavoro con Intellij (9.0.4 Ultimate) ed Eclipse (Helios) ogni giorno e Intellij batte Eclipse ogni volta.

Come? Perché Intellij indicizza il mondo e tutto funziona in modo intuitivo. Posso navigare nella mia base di codice molto, molto più velocemente in Intellij. F3 (definizione del tipo) funziona su tutto : contesti Java, JavaScript, XML, XSD, Android, Spring. Il refactoring funziona ovunque ed è totalmente affidabile (ho avuto problemi con Eclipse che rovina la mia fonte in modi strani). CTRL + G (dove usato) funziona ovunque . CTRL + T (implementazioni) tiene traccia delle istanze più comuni che utilizzo e le mostra per prime.

I suggerimenti per il completamento del codice e la ridenominazione sono così intelligenti che solo quando torni su Eclipse ti rendi conto di quanto stava facendo per te. Ad esempio, considera di leggere una risorsa dal percorso di classe digitando getResourceAsStream("/a questo punto Intellij ti mostrerà un elenco di possibili file che sono attualmente disponibili sul percorso di classe e puoi eseguire il drill-down rapido su quello desiderato. Eclipse - no.

Il plug-in (pronto all'uso) di Spring per Intellij è di gran lunga superiore a SpringIDE principalmente a causa delle loro ispezioni del codice. Se ho perso le lezioni o scritto qualcosa di sbagliato, sto ottenendo un blocco rosso nell'angolo e inchiostro rosso proprio dove si trova il problema. Eclipse - un po ', una specie di.

Nel complesso, Intellij acquisisce molte conoscenze sulla tua applicazione e quindi utilizza tali conoscenze per aiutarti a scrivere codice migliore, più velocemente.

Non fraintendetemi, amo Eclipse a pezzi. Per il prezzo, non vi è alcun sostituto e lo consiglio ai miei clienti in assenza di Intellij. Ma una volta ho provato Intellij, si è ripagato da solo entro una settimana, quindi l'ho comprato, e ciascuno dei principali aggiornamenti da allora. Non ho mai guardato indietro.


Esattamente quello che stavo cercando. Una domanda però, penso di avere alcune mappature chiave diverse da te. Puoi chiarire quali sono le funzioni di cui stai parlando?
Nicole,

2
È possibile impostare IntelliJ per utilizzare le scorciatoie di Eclipse? Potrebbe essere solo l'ultima spinta di cui ho bisogno per provare IntelliJ: la mia memoria muscolare mi stava trattenendo. Grazie per il consiglio!
yatima2975,

9
@ yatima2975 Nessun problema. Basta guardare nelle preferenze, filtrare su "keymap" e selezionare Eclipse. Hai Emacs e anche molti altri.
Gary Rowe,

1
Sulla mia macchina Linux, di recente sono passato da Eclipse a IntelliJ IDEA Community Edition (open source e completamente gratuito) per un progetto Java / Android e ho avuto la stessa buona esperienza. IDEA è semplicemente fantastica. Scaricalo qui: jetbrains.com/idea/free_java_ide.html . Come sostiene JetBrains, IDEA è l'IDE Java più intelligente sul mercato. Non fraintendetemi: utilizzo e amo anche gli IDE Eclipse, NetBeans e Qt Creator (a seconda dell'attività e della lingua a portata di mano).
AlexBottoni,

2
Aggiungerò un'enfasi sul supporto javascript e su altre lingue front-end. Intellij include WebStorm, che di per sé è fantastico per il front-end.
3

16

Ho sentito che la differenza con IntelliJ è che sono molto più propensi a correggere e chiudere i bug che invii. Ciò potrebbe fare una grande differenza se c'è qualche bug di Eclipse che ti sta bloccando.

D'altra parte, non è possibile guardare gli IDE isolatamente; devi guardare l'ecosistema . Qui, penso che Eclipse abbia un vantaggio (simile al vantaggio di Firefox rispetto a Chrome *): ci sono molti più plug-in disponibili e gli sviluppatori hanno molte più probabilità di scrivere un plug-in Eclipse rispetto al resto.

[Tangente: * Per Firefox sto pensando a Zotero e HTTPS-Everywhere. Uso sia Chrome che Firefox, ma alcune cose Chrome non riescono a gestirle. Inoltre, quando faccio volantini, ho davvero bisogno dell'anteprima di stampa.]


Ci sono fatti che supportano l'affermazione sulla correzione dei bug? (Io stesso faccio sempre fatica confrontando una tale misurazione, specialmente con un software in cui non si può facilmente vedere l'afflusso di bug ... come la maggior parte dei software commerciali e persino alcuni prodotti open source)
johannes

@johannes Mentre posso garantire personalmente questo, puoi vedere tu stesso su youtrack.jetbrains.com/issues
y3sh

1
Sebbene sia vero che Eclipse offra un set più ampio di plug-in, IntelliJ offre anche tutti i plug-in necessari per eseguire il lavoro. In altre parole, il vantaggio numerico per la disponibilità dei plug-in dovrebbe essere considerato nel contesto. Vedo questo il motivo principale per cui Eclipse è preferito rispetto a IntelliJ.
e28 Makakeli,

13

Disclaimer
Questo è limitato allo sviluppo di Android (ovviamente in Java).

Sto arrivando a questo con una conoscenza limitata di Eclipse e IntelliJ entrambi; tuttavia, recentemente ho dovuto decidere un ambiente di sviluppo per Android. Sembrerebbe che la prima chiara scelta sarebbe quella di utilizzare Eclipse poiché Google lo supporta con il loro plug-in ADT. Sfortunatamente, ho trovato terribilmente ingombrante muoversi da quando sono abituato a Visual Studio (2010, più recentemente 2012). Ho sempre usato ReSharper con Visual Studio, quindi ho deciso di provare IntelliJ. Dopo circa 10 minuti mi sono reso conto di aver preso la decisione giusta.

IntelliJ, come alcuni hanno affermato, indicizza tutto. L'intellisense è stata una gioia con cui lavorare e l'intelligenza che circonda i suggerimenti era eccellente. L'esperienza di debug che ho trovato un piacere e, onestamente, non potrei davvero vivere senza l'analisi del codice. So che molti puristi avrebbero un problema con quel genere di cose, ma non mi interessa. Devo distribuire progetti molto rapidamente per molte persone, quindi a volte è bello eseguire il codice anaylsis e vedere cosa suggerisce l'IDE. Che tu prenda o meno questi suggerimenti è un'altra storia, ma non ho trovato nulla di simile in Eclipse.

Alcuni dicono anche che non esiste un designer Android nella versione corrente di IntelliJ. Questo è certamente il caso, ma non lo userei mai comunque. Sto eseguendo il debug su un dispositivo per la maggior parte del tempo, quindi non importa. Vedo l'interfaccia e ci gioco ogni volta che eseguo il programma. Ad ogni modo, da un ragazzo tradizionalmente "non Java" devo dire che Java è particolarmente bello rispetto a Eclipse.


6

È necessario dimostrare in modo vivido e senza dubbio che per le attività che è necessario svolgere su base giornaliera, IntelliJ consente una notevole quantità di tempo e sforzi risparmiati rispetto a Eclipse (e NetBeans).

Ciò richiederà di fare alcune ricerche per scoprire cosa potrebbe essere, e quindi costruire una dimostrazione che mostri questo alle persone che possono decidere come lavorare.

Il mio sospetto è che troverai un compito piuttosto difficile da fare, dato che Eclipse in questi giorni può fare abbastanza, ragionevolmente bene. Se trovi punti killer, per favore condividi - Sono sicuro che molti vogliono saperlo.


2
"Se trovi punti killer, per favore condividi - Sono sicuro che molti vogliono saperlo." - Ecco perché lo chiedo - è difficile trovare il tempo per fare questa ricerca o provare Eclipse da solo (e probabilmente sono di parte comunque). Spero di scoprire alcuni utenti che hanno avuto una buona esperienza con entrambi!
Nicole,

1
@ Thorbjørn Vero, ma sto parlando di attività generali, il tipo che è applicabile in almeno tutti i casi d'uso che ho avuto, che penso siano piuttosto ampi. Ma, se c'è qualcosa di specifico, sarebbe bello sapere di cosa si tratta.
Nicole,

1
@ Thorbjørn Hai ragione su ciò che li convincerà, ma penso che le attività generali si applichino qui. La mia produttività è aumentata di 10: 1 dalle funzionalità generali di un IDE rispetto ai sottoinsiemi di funzionalità correlati al mio lavoro specifico. In altre parole, le funzionalità IDE standard sono ciò che mi aiuta nel nostro lavoro quotidiano.
Nicole,

2
In realtà, per il costo, tutto ciò che devi realisticamente fare è dimostrare che può risparmiare almeno ~ 10 ore di produttività per tutta la durata dell'uso previsto (supponendo che il programmatore paghi $ 25 / h). Tutto ciò che segue è sugo.
Steven Evers,

1
Solo per la cronaca. Eclipse e IntelliJ (e Netbeans) funzionano bene con Maven. Ciò significa che se si utilizzano progetti Maven, è possibile utilizzare l'IDE più appropriato per la situazione attuale.

5

Intellij è migliore per molte ragioni, non ultimo il tema della darcula ... ma ce ne sono alcune altre:

  • completamento automatico per i nomi dei metodi: offre ciò che desidero chiamarli convenzione usign.
  • Completamento automatico di jquery molto facile da configurare (mai funzionante con eclipse).
  • Completamento automatico EL in jsp's
  • l'integrazione e l'ispezione della molla mostrano errori nell'installazione (ad es. nomi di bean duplicati)
  • completamento automatico per mappature controller / url
  • facile da usare e configurare integraion di database (rileva automaticamente l'origine dati) e ovviamente il completamento automatico
  • ispezioni del codice, come checkstyle e findbugs, integrate e facili da usare.
  • jslint e jshint integrati e facili da usare.
  • l'integrazione maven funziona immediatamente.
  • Tutte le impostazioni sono dove ti aspetti che siano.
  • Non rileva errori in modo errato, ho usato per ottenere errori evidenziati in eclisp dove non ce n'erano e dovevo riavviare.
  • Completamento automatico e rilevamento errori in file xml (un grosso problema con la primavera)
  • le mappature di ibernazione hanno il completamento automatico abilitato (i campi di un pojos sono forniti come opzione di completamento automatico nel riquadro di mappatura - gr8).
  • ctrl + alt + clic apre l'impianto, non la dichiarazione
  • Hotdeploy: puoi facilmente configurarlo in modo tale che quando intellij perde la concentrazione l'app viene distribuita automaticamente - I alt tab al mio browser e il nuovo codice (sia esso classi, javascript o jsps) è già distribuito.
  • un client di riposo integrato senza necessità di ulteriore configurazione.
  • client di chat integrato che consente i puntatori di codice - in realtà molto utile.
  • visualizzazione di persistenza, facile accesso a tutte le entità e impostazioni jpa / ibernazione.
  • correzione di bug, correzione di bug effettiva responsabile Ho inviato una serie di bug e sono stati corretti prontamente.
  • ispezione e completamento automatico nei tuoi documenti XML, molto molto utile con la primavera (so che questa è una ripetizione ma è grandiosa, ha rivelato una miriade di errori).

Lo uso da 3 settimane ormai, quindi spero di trovarne un altro presto; ne vale la pena.

Oh, un'altra cosa in realtà si apre ... Avevo un bug nella mia eclissi che significava che si sarebbe rifiutato di aprire. Solo "google eclipse non si apre" ci sono molti link. Mi sento stupido per aver impiegato così tanto tempo a cambiare.


Questa è una lista molto utile, ma hai dimenticato di menzionare l'IDE di cui stai parlando. Sulla base della tua menzione della versione 12 nell'ultima frase, immagino che si tratti di IntelliJ.
Xander Dunn,

3

Google ha recentemente annunciato che sta spostando lo sviluppo Android su IntelliJ.

C'è una ragione per questo. Ho usato Eclipse come ambiente per insegnare corsi negli ultimi anni in C ++ e Android / JAVA. Ho visto la qualità di Eclipse deteriorarsi a qualcosa che si avvicinava inutilmente. Nell'autunno 2012, ho adottato Eclipse Juno per il mio corso ed è stato un disastro immeritato. Non solo il programma era incredibilmente lento e carico di bug, ma aveva anche diverse modifiche all'interfaccia utente che erano al di là dello stupido. Ora lo uso come caso di studio in una cattiva progettazione dell'interfaccia utente.

Non posso raccomandare Eclipse a nessuno in questo momento. Il database dei bug è diventato così grande che non vi è alcuna possibilità che possano risolverne nemmeno una piccola parte.


Questo è utile ad alto livello, ma potresti fornire maggiori dettagli?
Kazark,

1

Non conosco i solidi colpi per funzionalità, ma una cosa che ho scoperto con l'uso interno e esterno dell'ambiente IntelliJ per circa un decennio è che i team di progettazione di JetBrains hanno fatto un ottimo lavoro di entrambi hanno l'IDE "indicizza il mondo" e mantengono le funzioni di indicizzazione e di completamento automatico sia reattive che coerenti - in genere non ci penso, ma con la reattività più il numero di scorciatoie da tastiera (e la capacità di mappare più), IntelliJ rende molto semplice costruire "memoria muscolare" quando si utilizza l'editor.

Non è cosa da poco quando puoi scrivere codice, completare automaticamente, compilare e testare senza lasciare le dita dalla tastiera e in un modo che non sembra una stereotipata app Java lenta.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.