Interprete è un programma che esegue istruzioni scritte in un linguaggio di alto livello. Esistono due modi per eseguire programmi scritti in un linguaggio di alto livello. Il più comune è compilare il programma; l'altro metodo è passare il programma tramite un interprete.
Interprete contro compilatore
Un interprete traduce le istruzioni di alto livello in una forma intermedia, che poi esegue. Al contrario, un compilatore traduce istruzioni di alto livello direttamente in linguaggio macchina. I programmi compilati generalmente vengono eseguiti più velocemente dei programmi interpretati. Il vantaggio di un interprete, tuttavia, è che non ha bisogno di passare attraverso la fase di compilazione durante la quale vengono generate le istruzioni della macchina. Questo processo può richiedere molto tempo se il programma è lungo. L'interprete, invece, può eseguire immediatamente programmi di alto livello.
Per questo motivo, gli interpreti vengono talvolta utilizzati durante lo sviluppo di un programma, quando un programmatore desidera aggiungere piccole sezioni alla volta e testarle rapidamente. Inoltre, gli interpreti sono spesso utilizzati nell'istruzione perché consentono agli studenti di programmare in modo interattivo.
Sia gli interpreti che i compilatori sono disponibili per la maggior parte delle lingue di alto livello. Tuttavia, BASIC e LISP sono progettati appositamente per essere eseguiti da un interprete. Inoltre, i linguaggi di descrizione della pagina, come PostScript, utilizzano un interprete. Ogni stampante PostScript, ad esempio, dispone di un interprete incorporato che esegue le istruzioni PostScript.