Un ambiente di sviluppo integrato (in lingua inglese integrated development environment ovvero IDE, anche integrated design environment o integrated debugging environment, rispettivamente ambiente integrato di progettazione e ambiente integrato di debugging) è un software che, in fase di programmazione, aiuta i programmatori nello sviluppo del codice sorgente di un programma. Spesso l'IDE aiuta lo sviluppatore segnalando errori di sintassi del codice direttamente in fase di scrittura, oltre a tutta una serie di strumenti e funzionalità di supporto alla fase di sviluppo e debugging.
Storia
I primi IDE sono comparsi alla fine degli anni settanta del XX secolo. Tra i più famosi possiamo annoverare:
- Interpreti BASIC dei primi personal computer.
- L'ambiente di programmazione Smalltalk.
- La Lisp machine.
Tuttavia questi sistemi comprendevano l'intero sistema operativo, e non permettevano l'esecuzione sulla stessa macchina di software scritto in altri linguaggi, se non riavviando il sistema.
Nel 1983 viene commercializzato il primo IDE per Personal Computer che funziona come semplice applicazione, il Turbo Pascal della Borland, basato sul linguaggio Pascal. Dopo di allora sono nati numerosi IDE, inizialmente con interfaccia utente a carattere, poi di tipo grafico.
Caratteristiche
Normalmente è uno strumento software che consiste di più componenti, da cui appunto il nome integrato:
- un editor di codice sorgente;
- un compilatore e/o un interprete;
- un tool di building automatico;
- (solitamente) un debugger.
A volte è integrato anche con un sistema di controllo di versione e uno o più tool per semplificare la costruzione di una GUI.
Alcuni IDE, rivolti allo sviluppo di software orientato agli oggetti, comprendono anche un navigatore di classi, un analizzatore di oggetti e un diagramma della gerarchia delle classi.
Sebbene siano in uso alcuni IDE multi-linguaggio, come Eclipse, NetBeans e Visual Studio, generalmente gli IDE sono rivolti ad uno specifico linguaggio di programmazione, come Visual Basic o Delphi.
Prodotti
Oggi gli IDE più noti sono:
- Anjuta, open source, che supporta i linguaggi C e C++.
- Atom (editor), open source, supporta diversi linguaggi e sviluppato da GitHub.
- C++Builder, prodotto dalla Borland, che supporta il linguaggio C e C++.
- Clarion, prodotto dalla Softvelocity, che supporta l'omonimo linguaggio, la programmazione in ASP ed il PHP.
- Code::Blocks, open source, supporta C e C++. Cross-piattaforma, è disponibile su Windows, Linux e Mac OS X.
- CodeLite, open source, basato su wxWidgets supporta C e C++. Cross-piattaforma, è disponibile su Windows, Linux e Mac OS X.
- CoDeSys, programmazione di PLC.
- Delphi e Kylix, prodotti della Borland, che supportano il linguaggio Object Pascal.
- Dev-C++, open source, per C++ e C. È stata sviluppata anche una versione con un designer visuale delle forms per essere usato insieme alle librerie wxWidgets (wxDev C++).
- Eclipse, creato dalla IBM, ora open source, che supporta numerosi linguaggi.
- Geany, open source, disponibile per Windows, Linux, Mac OS X, BSD e Solaris.
- IntelliJ IDEA della JetBrains s.r.o. che supporta il linguaggio Java.
- JBuilder, prodotto dalla Borland, che supporta il linguaggio Java.
- KDevelop, open source, per KDE, che supporta 15 linguaggi, tra cui C e C++.
- Lazarus, open source, che supporta il compilatore Object Pascal open source Free Pascal.
- Livecode, open source, visuale, disponibile per Windows, Linux, Mac OS X, Raspberry Pi, è cross-platform e permette di creare programmi per Windows, Linux, Mac, Android, iOS e Raspberry Pi.
- NetBeans, open source, creato dalla SUN, che supporta numerosi linguaggi.
- Qt Creator, open source, multipiattaforma, creato dalla Qt Development Frameworks, appartenente a Nokia, che supporta gcc e il framework Qt.
- SharpDevelop, open source, alternativa a Visual Studio .NET, che supporta C#, Visual Basic .NET, Boo, e F#
- Visual Studio .NET, prodotto dalla Microsoft, che supporta C#, J sharp Visual Basic .Net e Managed C++.
- Visual Studio, prodotto della Microsoft, che supporta i linguaggi VisualBasic, C, C++, J++.
- Xcode, fornito con Mac OS X, che supporta C, C++, Objective C e Java.
- IBM Rational Software Architect (RSA)
- IBM Rational Application Developer (RAD)