Estensibilità ambienti di sviluppo PART 1

Stampa

Per uno sviluppatore Java, Eclipse è senza dubbio uno dei migiori ambienti di sviluppo. Ma questo ambiente sta crescendo sempre più e nasconde molte doti nascoste anche al di fuori di java...

Riporto pari pari, quanto scritto su programmazione.it da Pierpaolo Cira.
 
All'inizio erano all'interno di schede di cartoncino perforate, poi di circuiti non riscrivibili, poi iniziarono ad essere presenti in memorie di tipo magnetico sempre più piccole, capaci e veloci: parliamo dei software e di come, in meno di un secolo, il loro modo di presentarsi all'utente finale sia decisamente cambiato con un'accelerazione a carattere esponenziale.

Ma, oltre all’aspetto con cui i software si presentano, è cambiato anche il modo con cui essi vengono prodotti: dalla macchina perforatrice si è passati a poter inserire i dati da tastiera e, anziché sotto forma di buchi (o di 0 e 1), le istruzioni vengono codificate prima in linguaggio Assembly e poi nei primi linguaggi compilati, sempre più comodi da interpretare e rivedere da parte dei programmatori.

Insieme all'evoluzione dei linguaggi, c'è stata una corrispondente crescita dei metodi per la progettazione e l'ingegnerizzazione del software, ma ancora più importanti potrebbero essere, per alcuni, gli strumenti per la scrittura del codice: gli ambienti integrati di sviluppo o, meno formalmente, gli IDE.

Mi sono permesso di dire che per alcuni lo strumento di creazione del software possa essere più importante della progettazione stessa, visti i sempre maggiori consensi per metodologie di sviluppo agile come l'Extreme programming e considerate anche le notevoli feature messe a disposizione da IDE come Visual Studio, che tendono a nascondere allo sviluppatore gran parte della logica e delle funzioni di basso livello in modo da aumentare la produttività a scapito di codice bacato, che potrebbe scrivere l'utente e che, invece, viene direttamente scritto dall'IDE stesso.

Senza entrare nel dettaglio dei pro e dei contro di questa affermazione, è stupefacente pensare come dai primi IDE creati meno di cinquant'anni fa, che permettevano esclusivamente di scrivere codice, si è passati agli abbandonati, ma storici compilatori con interfaccia a caratteri della Borland; si è poi giunti agli attuali strumenti di sviluppo che — oltre a contenere disparati editor per il codice sorgente dalle illimitate funzioni atte a facilitare lo sviluppatore — contengono compilatori, interpreti, debugger e spesso vengono snobbati se non sono di tipo RAD.

Una tra le ultime interessanti frontiere di questi ambienti di sviluppo è che essi sono progettati per fornire agli sviluppatori la possibilità di estenderli dall'interno: un ecosistema in cui, tramite un IDE, è possibile sviluppare funzionalità per l'IDE stesso e distribuirle sotto forma di plug-in, in modo che altri utenti dello stesso ambiente possano utilizzare le nuove funzioni.