Un linguaggio interpretato è un tipo di linguaggio di programmazione che si basa su un altro software chiamato interprete per l’esecuzione. La maggior parte dei linguaggi di programmazione si basa su un compilatore, che modifica il codice in una serie di istruzioni progettate specificamente per un particolare tipo di macchina e sistema operativo. Quando si scrivono programmi utilizzando un linguaggio interpretato, il programma stesso è un file di testo con codice e l’interprete funge da intermediario, traducendo le istruzioni in qualcosa che la macchina può capire al volo. I linguaggi interpretati presentano diverse limitazioni in termini di prestazioni, ma sono anche più facili da utilizzare e ideali per determinati tipi di applicazioni.
C’è stato un tempo in cui usare un linguaggio interpretato era spesso molto discutibile, soprattutto a causa della velocità. Durante l’era in cui la potenza di elaborazione dei computer era scarsa, i linguaggi interpretati avevano usi molto limitati perché erano significativamente più affamati di risorse. Con i linguaggi compilati, tutto è più efficiente e diretto perché i programmi sono già stati tradotti in istruzioni a misura di macchina. Il processo di compilazione deve avvenire ogni volta che una persona esegue un programma interpretato e il software di interpretazione deve essere eseguito costantemente allo stesso tempo, il che generalmente mette più stress sulle prestazioni.
Le lingue interpretate hanno anche diversi vantaggi. Alcuni di loro sono molto facili da imparare, come Python. I programmi realizzati con linguaggi interpretati a volte possono essere più facili da testare perché non devono essere seguiti ripetutamente e di solito è più facile apportare modifiche a un software esistente. In generale, il processo di lavoro con un linguaggio interpretato è più snello, con tempi di sviluppo più brevi e spesso meno lavoro complessivo.
Un altro grande vantaggio per le lingue interpretate è la facile portabilità. In generale, se esiste una versione dell’interprete per più tipi diversi di macchine e sistemi operativi, qualsiasi programma scritto in quel linguaggio può essere utilizzato su un’ampia varietà di piattaforme. Ad esempio, un programma scritto in un linguaggio interpretato potrebbe essere in grado di funzionare su un sistema basato su Macintosh™, Windows® o Linux® senza alcuna modifica.
Con il miglioramento della velocità dei computer, l’uso dei linguaggi interpretati in genere è aumentato, ma c’erano ancora alcune limitazioni. Anche con computer veloci, un linguaggio interpretato non è considerato ideale per alcuni tipi di applicazioni, come i giochi. Alcuni programmi sono costruiti utilizzando una combinazione di linguaggi interpretati e linguaggi compilati. In questo tipo di implementazioni, il linguaggio interpretato può gestire solo un piccolo aspetto della funzionalità, mentre la maggior parte del programma utilizza codice compilato. Un esempio potrebbe essere un gioco con il proprio interprete integrato per un linguaggio di scripting che consente agli utenti finali di creare e modificare facilmente i contenuti.