INDIETRO SU AVANTI

L'Ambiente di sviluppo software di UNIX

Va immediatamente notato che l'ambiente nativo di sviluppo software in UNIX e' basato sul Linguaggio C di programmazione. UNIX e' scritto per gran parte in tale linguaggio e le system calls sono definite in Linguaggio C.

A volte alcuni sistemi di sviluppo software offrono supporto al Linguaggio C++, moderno derivato del C, ma in caso di programmi che interfacciano il kernel di UNIX, riconducono poi tutto traducendolo a Linguaggio C.

UNIX fornisce un ambiente di sviluppo software molto completo e a volte piuttosto complesso. Un sistema di sviluppo software consiste di varie parti. Tra i componenti primari vediamo:

Utilities appropriate possono essere:

Editor

E' opinione diffusa che l'unico editor disponibile in UIX sia vi. Questo non e' vero: sono disponibili tantissimi editor, basta acquistarli o reperirli opportunamente in Internet o altrove; dopo tutto gli editor sono applicativi.

E' vero comunque che:

Compilatore

Il compilatore UNIX e' un programmino dall'aspetto ingannevolmente semplice che si in voca con un comando del tipo:

cc <opzioni> <files>

Le opzioni sono tipicamente dell'ordine di 50 possibilita' diverse, piu' tutte le combinazioni permesse.

Il programma stesso cc e' un front end ad una sequenza di programmi costituenti che vengono invocati sequenzialmente. E' solitamente possibile tramite opportune opzioni decidere quale combinazione di programmi costituenti applicare, tra:

I compilatori C tendono ad essere proprietari, cioe' implementati dalla ditta fornitrice in modo da essere ideali per la piattaforma hardware e versione di UNIX offerte: questo ha spesso lo svantaggio di introdurre opzioni diverse al comando cc a seconda della piattaforma.

Molto di recente ha avuto forte diffusione una versione del compilatore C presente su molte piattaforme ed offerto a dominio pubblico: il GCC (GNU C Compiler). Questa versione e' offerta per piattaforme Intel, Alpha, SPARC, MIPS e PowerPC ed e' disponibile gratuitamente in Internet e altrove, in codice sorgente. Cioe' il compilatore stesso puo' essere compilato dal precedente compilatore (poi rubargli il posto).

GCC e' un compilatore sia di Linguaggio C che C++.

In generale la GNU mette a disposizione a dominio pubblico moltissime utilities di gestione progetti software per il mondo UNIX, che hanno il doppio vantaggio di essere eccellenti e gratuite.

Una di queste e' l'editor Emacs, secondo molti di molto superiore al vi (per altri si tratta di filosofia, non di confronto di prestazioni), e icludente l'ambiente di compilazione, debugging, e gestione di posta elettronica, senza mai lasciare l'editor.