Approccio interpretato
Una diversa tecnica di traduzione del codice sorgente in codice oggetto consiste nel ricorso a un programma noto come interprete. L'interprete è un programma che traduce ed esegue istruzione per istruzione il codice sorgente.
Caratteristiche dell'approccio interpretato
Nell'approccio interpretato, il collegamento con il codice delle librerie del linguaggio avviene in modalità dinamica. Il fatto che l'interprete traduca le istruzioni singolarmente comporta che istruzioni ripetute (per esempio le istruzioni comprese in un ciclo) siano tradotte più volte. Per questo motivo, un programma interpretato è più lento in fase di esecuzione rispetto a un equivalente programma compilato, dove il processo di traduzione viene effettuato una sola volta in fase di compilazione.
Inoltre, dal momento che nel flusso di esecuzione di un programma non tutte le istruzioni sono sistematicamente eseguite (in funzione del verificarsi o meno delle condizioni dei costrutti di selezione) e che gli errori sintattici sono rilevati solo nel momento della traduzione, questo potrebbe avere come conseguenza che un programma interpretato manifesti errori di sintassi anche dopo molte esecuzioni corrette.
Mitigazione dei problemi e aspetti commerciali
Per mitigare questo problema, molti linguaggi interpretati moderni hanno comunque un «compilatore» capace di verificare la correttezza sintattica dell'intero programma senza generare il codice oggetto. Volendo commercializzare il software, è bene capire come la cessione di un programma interpretato preveda, da parte dell'utente finale, anche l'acquisto dell'interprete del linguaggio.
Inoltre, anche se esistono meccanismi di sicurezza previsti da specifici linguaggi interpretati, un programma interpretato viene fornito al cliente nella forma di codice sorgente con poche garanzie, in relazione alla proprietà intellettuale degli algoritmi e delle soluzioni tecniche adottate.
-
Approccio sistemico
-
Approccio compilato
-
Approccio neoistituzionalista
-
Sociologia della famiglia – Approccio