Capitolo 3
Interpreti e compilatori
I programmi scritti nei linguaggi di programmazione di alto livello, quelli più
vicini all'uomo che alla macchina, possono essere tradotti nel linguaggio
macchina in due modi distinti, che presentano entrambi vantaggi e svantaggi.
Gli interpreti operano traducendo una riga del programma per volta, ed
eseguendola immediatamente, un po' come fanno gli interpreti simultanei nelle
trasmissioni televisive o nei congressi.
I compilatori traducono per intero il programma prima di eseguirlo, un po'
come i traduttori di libri o riviste.
Interpreti e compilatori sono a loro volta dei programmi, che spesso sono scritti
nel linguaggio che essi stessi traducono. Sembra un controsenso, ma è proprio
così.
I linguaggi di programmazione che richiedono un interprete sono definiti
linguaggi interpretati, mentre quelli che richiedono un compilatore sono
chiamati linguaggi compilati. Entrambi presentano vantaggi e svantaggi,
descritti nel seguito.
Vantaggi e svantaggi dei linguaggi interpretati
I linguaggi di programmazione che lavorano con un interprete risultano
solitamente più lenti, poiché la traduzione riga per riga deve essere effettuata
ogni volta che si vuole eseguire il programma. Inoltre l'interprete deve essere
sempre disponibile nel momento dell'esecuzione del programma, e questo
risulta scomodo per chi desidera distribuire i propri programmi ad altri.
Tra l'altro, il fatto che l'esecuzione del programma richieda la contemporanea
44