Eclipse o IntelliJ? Bella domanda...

Per chi, come me, si sporca quotidianamente le mani con il codice è importante lavorare con strumenti efficienti.

Nulla può salvarci la giornata come un ottimo ambiente di sviluppo integrato (IDE, per gli amici…), ma fare la scelta giusta non è sempre facile.

In questo post vi parlo della mia esperienza con due dei più diffusi ambienti di sviluppo per Java: Eclipse ed IntelliJ IDEA, descrivendo quali sono, secondo me, i punti di forza di ciascuno.

La scelta giusta

Il mondo Java e, più in generale, il mondo open source ci hanno abituati all’imbarazzo della scelta per quel che riguarda librerie, framework e tool di sviluppo.

Anche per gli IDE lo scenario non è molto differente e indubbiamente la cosa potrebbe disorientare, soprattutto chi ha meno esperienza. Prima di farsi prendere dal panico, però, è sempre importante tenere a mente queste due ovvietà:

  • ognuno di noi ha esigenze di lavoro e gusti differenti, per cui è necessario capire cosa funziona per noi e quale strumento agevola il nostro modo di lavorare;
  • come conseguenza, l’unico modo per capire cosa ci calza a pennello è provare

Personalmente, ad oggi, ho avuto modo di provare solamente tre ambienti di sviluppo: Eclipse, IntelliJ e NetBeans. In questo articolo non ho però incluso l’IDE ufficiale di casa Oracle, in quanto non ho sufficiente dimestichezza con questo strumento per metterlo a confronto con gli altri due.

I miei test su NetBeans risalgono a diversi anni fa (versione 6 o giù di lì) e ricordo che non lo trovai particolarmente convincente. Sinceramente, da allora non gli ho dato altre possibilità, quindi potrei essermi perso fantasmagorici miglioramenti apportati nelle ultime versioni. Se così fosse, fatemi sapere… ;-)

Perché scegliere Eclipse

Eclipse è un veterano tra gli strumenti di sviluppo per Java. Nato come progetto IBM intorno a inizio secolo, lo sviluppo e l’aggiornamento del prodotto sono stati in seguito presi in carico dalla Eclipse Foundation, che tuttora si occupa dei nuovi rilasci.

Eclipse

Eclipse è un progetto libero ed open source, che per molti anni ha rappresentato lo standard de facto per chiunque lavorasse con Java, mettendo in ombra NetBeans fin dagli albori.

Ancora oggi questo IDE viene molto utilizzato, non solo dagli appassionati, ma anche in ambito professionale, soprattutto da sviluppatori indipendenti e piccole aziende.

Alcuni punti a suo favore:

  • è un software gratuito: il che non fa mai schifo;
  • integra un efficace sistema di plug-in che permette di personalizzare ed estendere lo strumento nel modo a noi più congeniale;
  • è disponibile per i principali sistemi operativi: Windows, Linux e Mac;
  • il progetto è supportato da una community molto attiva che, oltre a diffondere il verbo della Eclipse Foundation, sforna utili plug-in e supporta lo sviluppo del prodotto;
  • la vasta base d’utenza può aiutarci in caso di necessità su forum e canali come Stack Overflow.

Per lavoro sono stato “costretto” a lavorare per anni con Eclipse, che certamente non è lo strumento più “agile” di questo mondo. Col tempo, però, ho imparato a conviverci, apprezzando soprattutto gli sforzi del team di sviluppo, costantemente impegnato nel tentativo di snellire l’IDE e di “ringiovanirlo”, integrando nuove funzionalità.

Rimangono sicuramente ampi margini di miglioramento, soprattutto per quanto riguarda alcuni annosi problemi che affliggono questo prodotto. In particolare, una lentezza quasi patologica (ridotta in modo sensibile nelle versioni più recenti, ma non eliminata) e una certa tendenza a “sbroccare” (errori inesistenti, warning a casaccio, ecc.), probabilmente legata alla pesantezza dell’applicativo…

Perché scegliere IntelliJ

Nato pressappoco nello stesso periodo di Eclipse IDE, il progetto IntelliJ IDEA è rimasto per molto tempo un prodotto di nicchia, eclissato (per l’appunto) dalla fama dei concorrenti. Negli ultimi anni quest’ottimo strumento ha però saputo riguadagnare terreno, arrivando (meritatamente) a contendersi con il rivale Eclipse il trono di IDE più utilizzato in ambito Java.

IntelliJ IDEA

IntelliJ è un prodotto proprietario di casa JetBrains, la quale, però, mette a disposizione degli sviluppatori anche una versione gratuita e open source del suo IDE: la Community Edition. La versione di riferimento, dedicata espressamente ai professionisti, è invece la Ultimate Edition, disponibile solo a pagamento.

Tra le caratteristiche degne di nota:

  • anche IntelliJ IDEA, come Eclipse, è un ambiente multipiattaforma;
  • interfaccia pulita e intuitiva;
  • è uno strumento estremamente veloce e reattivo;
  • supporta nativamente la maggior parte dei framework Java più diffusi, e consente l’integrazione di nuove funzionalità tramite plug-in;
  • si tratta di un prodotto proprietario, dunque gli aggiornamenti e il bug-fixing avvengono con maggiore regolarità e continuità;
  • community attiva e in rapida crescita.

Sicuramente IntelliJ IDEA è un prodotto che sa conquistare sin dalle prime ore di lavoro e che punta moltissimo su funzionalità avanzate che, per usare un termine caro a chi fa marketing, generano un “effetto WOW” non indifferente.

Benché lavori con IntelliJ IDEA da un anno o poco più, posso dire con confidenza che si tratta di uno strumento che sposta l’asticella molto più in alto rispetto ai concorrenti.

La cura dei particolari fa pensare immediatamente ad un prodotto pensato da sviluppatori per essere usato da sviluppatori, con l’obiettivo di ottenere uno strumento estremamente efficiente e funzionale. Ovviamente la qualità si paga, ma mi sento di dire che sono soldi ben spesi.

Verdetto(?)

Forse deluderò qualcuno, ma l’obiettivo di questo articolo non era quello di proclamare un vincitore. La mia intenzione era invece quella di fornire un punto di vista piuttosto imparziale, basato sulla mia personale esperienza con i due strumenti.

Sarebbe fin troppo semplicistico affermare che IntelliJ vince a mani basse. Ritengo invece che entrambi gli IDE esaminati rappresentino validi strumenti di lavoro, ciascuno con solidi punti di forza.

Ad oggi Eclipe è l’IDE che padroneggio con maggior confidenza e, nel bene e nel male, quello a cui sono più affezionato. Le ultime versioni (dalla Neon in poi), stanno cercando di colmare il gap con il contendente di casa JetBrains, soprattutto in termini di prestazioni e semplicità d’utilizzo.

Eclipse cerca di far leva sulla sua consolidata base d’utenza per rimanere sul mercato, oltre ad avere dalla sua parte un Marketplace ricco di plug-in ed estensioni che lo rendono uno strumento estremamente versatile.

D’altro canto IntelliJ guadagna rapidamente larghe fette di mercato. La scelta di Google di sviluppare le ultime versioni del suo Android Studio (precedentemente basato su Eclipse) a partire dalla Community Edition di questo IDE ha dato una decisa accelerazione alla sua crescita e diffusione.

L’unica pecca che possiamo trovare a questo IDE è il fatto di non essere gratuito. La versione Community presenta infatti sensibili limitazioni soprattutto per quanto riguarda lo sviluppo web e l’integrazione con strumenti di terze parti. Per avere un ambiente di lavoro pienamente funzionante dobbiamo dunque orientarci necessariamente sulla versione Ultimate, disponibile solo a pagamento.

In conclusione

Il mio consiglio è: se avete qualche soldino da investire e volete lavorare in estrema scioltezza, IntelliJ IDEA è sicuramente la scelta per voi. Se invece non ve la sentite di sborsare pecunia, potete comunque contare sul caro vecchio Eclipse, magari chiudendo un occhio su qualche acciacco di vecchiaia…

Nei prossimi mesi mi piacerebbe continuare a parlare di questi due strumenti. Ho già in mente qualche post su aspetti interessanti di entrambi gli IDE.

Voi invece cosa ne pensate? Avete già lavorato con questi IDE? Fatemi sapere qual è il vostro preferito…

A presto,

David