1.6. Sviluppo di software

Questa sezione presenta gli IDE, i toolkit, gli strumenti di sviluppo e i sistemi di versioning per lo sviluppo di software professionale sotto Linux.

Tabella 1.6. Software di sviluppo per Windows e Linux

Task

Applicazione Windows

Applicazione Linux

Ambienti di sviluppo integrato (IDE)

Borland C++, Delphi, Visual Studio, .NET

KDevelop, Eric, Eclipse, MonoDevelop, Anjuta

Toolkit

MFC, Qt, GTK

Qt, GTK

Compilatori

VisualStudio

GCC

Strumenti per il debugging

Visual Studio

GDB, valgrind

Progettazione di GUI

Visual Basic, Visual C++

Glade, Qt Designer

Sistemi di versioning

Clearcase, Perforce, SourceSafe

CVS, Subversion

KDevelop

KDevelop consente la scrittura di programmi in diverse lingue (C/C++, Python, Perl e via dicendo). Contiene un browser per la documentazione, un editor di codice sorgente con evidenziazione della sintassi, un'interfaccia grafica per il compilatore e molto altro. Per ulteriori informazioni, vedere http://www.kdevelop.org.

Eclipse

La piattaforma Eclipse è progettata per la creazione di ambienti di sviluppo integrati estensibili con plug-in personalizzati. La distribuzione di base contiene anche un ambiente di sviluppo Java completamente accessoriato. Per ulteriori informazioni, vedere http://www.eclipse.org (in lingua inglese).

MonoDevelop

Il progetto Mono è un'iniziativa di sviluppo aperta che lavora per lo sviluppo di una versione open source per Unix della piattaforma di sviluppo .NET. Il suo obiettivo è di consentire agli sviluppatori Unix di creare e distribuire applicazioni .NET funzionanti su più piattaforme. MonoDevelop è il complemento dello sviluppo di Mono con un IDE. Per ulteriori informazioni su MonoDevelop, consultare http://www.monodevelop.com/.

Anjuta

Anjuta è un IDE per lo sviluppo di applicazioni GNOME/GTK. Contiene un editor con formattazione automatica, completamento ed evidenziazione del codice. Oltre a GTK supporta lo sviluppo per i linguaggi Perl, Pascal e Java. È incluso anche uno strumento per il debugging basato su GDB. Per ulteriori informazioni su Anjuta, consultare http://anjuta.sourceforge.net.

Eric

Eric è un IDE ottimizzato per lo sviluppo in Python e Python-Qt. Per ulteriori informazioni su Eric, consultare http://www.die-offenbachs.de/detlev/eric3.html.

Qt

Qt è un programma per le applicazioni di sviluppo con interfacce grafiche. Consente di sviluppare rapidamente programmi professionali. La libreria di Qt non è disponibile solo per Linux, ma per un certo numero di versioni di Unix e anche per Windows e Macintosh. In questo modo è possibile scrivere programmi facilmente portabili su quelle piattaforme. Per ulteriori informazioni, vedere http://www.trolltech.com (in lingua inglese). I limiti imposti ai linguaggi per lo sviluppo su Qt sono riepilogati a questo indirizzo http://developer.kde.org/language-bindings/.

GTK

GTK è un toolkit multi-piattaforma per la creazione di interfacce grafiche utente. È utilizzato per tutte le applicazioni GNOME, The GIMP e molte altre. GTK è stato progettato per supportare un'ampia gamma di linguaggi, non solo C/C++. Originariamente era stato scritto per GIMP, da qui il nome "GIMP Toolkit". Per ulteriori informazioni, vedere http://www.gtk.org (in lingua inglese). I limiti imposti ai linguaggi per GTK sono riepilogati a questo indirizzo http://www.gtk.org/bindings.html.

GCC

GCC è una collezione di compilatori con un'interfaccia per vari linguaggi di programmazione. A questo indirizzo http://gcc.gnu.org è disponibile un elenco completo di funzioni e un'esauriente documentazione.

GDB

GDB è uno strumento per il debugging per programmi scritti in vari linguaggi di programmazione. Per ulteriori informazioni su GDB, consultare http://www.gnu.org/software/gdb/gdb.html.

Valgrind

Valgrind è una suite di programmi per il debugging e il profiling di applicazioni x86. Per ulteriori informazioni su Valgrind, consultare http://valgrind.org/info/.

Glade

Glade è un programma per la creazione di interfacce utente per lo sviluppo su GTK e GNOME. Così come GTK, supporta C, C++, C#, Perl, Python, Java e altri linguaggi. Per ulteriori informazioni su Glade, consultare http://glade.gnome.org/.

Qt Designer

Qt Designer è un programma per la creazione di interfacce utente e moduli per lo sviluppo su Qt e KDE. Può essere eseguito come componente dell'IDE di KDevelop IDE o in modalità indipendente. QtDesigner può essere eseguito sotto Windows ed è parte integrante anche della suite di sviluppo Visual Studio. Per ulteriori informazioni su Qt Designer, consultare http://www.trolltech.com/products/qt/designer.html.

CVS

CVS, Concurrent Versions System, è uno dei più importanti sistemi di controllo delle versioni per l'open source. È un'interfaccia per il Revision Control System (RCS) inclusa nelle distribuzioni standard di Linux. Per ulteriori informazioni su CVS, consultare la guida Reference. Per ulteriori informazioni, vedere la home page relativa all'indirizzo http://www.cvshome.org/.

Subversion

Subversion svolge esattamente lo stesso compito di CVS, ma offre miglioramenti più significativi, come la possibilità di spostare, rinominare e allegare meta-informazioni a file e directory. Per ulteriori informazioni su Subversion, consultare la guida Reference o visitare la home page all'indirizzo http://subversion.tigris.org/.