Che cos’è una lingua compilata?

Un linguaggio compilato è un linguaggio di programmazione per computer il cui codice sorgente è tipicamente compilato, o tradotto in codice macchina, per produrre un programma eseguibile. I compilatori sono programmi di utilità realizzati per tradurre un’implementazione specifica di un linguaggio di programmazione in un file binario eseguibile progettato per essere eseguito con un determinato sistema operativo. Questo file eseguibile autonomo può essere eseguito su qualsiasi piattaforma compatibile senza l’assistenza di un altro programma e senza la necessità di essere ricompilato. Alcuni linguaggi compilati comuni sono Ada, C++ e Fortran.

I programmi per computer possono anche essere scritti in un linguaggio interpretato o in un linguaggio di scripting. La decisione di implementare un progetto in un linguaggio compilato è solitamente correlata alla velocità di esecuzione molto maggiore dei suoi programmi. Si ritiene che l’aumento della velocità compensi quello che generalmente è un processo di sviluppo e manutenzione più complesso. I sistemi operativi e le utilità che richiedono l’accesso diretto all’hardware spesso richiedono l’efficienza di un linguaggio compilato.

Le lingue interpretate devono essere analizzate, tradotte ed eseguite da un’utilità di interprete ogni volta che viene eseguito il programma. Se l’interprete non risiede su un computer, il programma non può essere eseguito. In un linguaggio compilato, questa lunga analisi e traduzione viene eseguita una volta in fase di compilazione e l’eseguibile non necessita di alcun programma di utilità per essere eseguito. Quando la velocità o la necessità di un accesso hardware di basso livello non è un fattore, la relativa facilità con cui un programma interpretato può essere implementato potrebbe renderlo un’opzione interessante.

I linguaggi di scripting sono spesso implementati per offrire agli utenti un maggiore controllo sui programmi di linguaggio compilati o per fornire funzionalità aggiuntive. Anche questo tipo di linguaggio deve essere interpretato in fase di esecuzione. L’uso più familiare del linguaggio di scripting è nelle pagine Web di Internet, dove il browser funge da interprete di script. Tali linguaggi esistono sin dai tempi dei primi computer mainframe, tuttavia, per automatizzare processi semplici.

Quando si sviluppa un progetto software, spesso è necessario fare delle scelte tra l’uso efficiente delle risorse del computer e il costo dei tempi di sviluppo. Questo può portare a un mix di linguaggio compilato e linguaggio interpretato o di scripting all’interno di un particolare progetto. Gli elementi critici in termini di tempo e risorse di un programma di solito sono meglio codificati in un linguaggio compilato. Le interfacce e gli elementi con meno requisiti di risorse potrebbero essere sviluppati in modo più economico in un linguaggio interpretato. Anche gli elementi che alla fine verranno implementati in un linguaggio compilato potrebbero essere prototipati in modo più conveniente come programma di linguaggio interpretato.