In genere scriviamo un programma per computer usando un linguaggio di alto livello. Un linguaggio di alto livello è quello che è comprensibile per noi, gli esseri umani. Questo è chiamato codice sorgente.
Tuttavia, un computer non capisce il linguaggio di alto livello. Capisce solo il programma scritto in 0 e 1 in binario, chiamato codice macchina.
Per convertire il codice sorgente in codice macchina, usiamo un compilatore o un interprete.
Entrambi i compilatori e gli interpreti sono usati per convertire un programma scritto in un linguaggio di alto livello in codice macchina compreso dai computer. Tuttavia, ci sono differenze tra il modo in cui un interprete e un compilatore lavorano.
Interprete Vs Compilatore
Interprete | Compilatore |
---|---|
Trasforma il programma una dichiarazione alla volta. | Esegue l’intero programma e lo traduce per intero in codice macchina. |
Gli interpreti di solito impiegano meno tempo per analizzare il codice sorgente. Tuttavia, il tempo complessivo di esecuzione è comparativamente più lento dei compilatori. | I compilatori di solito richiedono una grande quantità di tempo per analizzare il codice sorgente. Tuttavia, il tempo di esecuzione complessivo è relativamente più veloce degli interpreti. |
Non viene generato alcun codice oggetto intermedio, quindi sono efficienti in termini di memoria. | Genera codice oggetto intermedio che richiede un ulteriore collegamento, quindi richiede più memoria. |
Lingue di programmazione come JavaScript, Python, Ruby usano interpreti. | Lingue di programmazione come C, C++, Java usano compilatori. |