Diferença chave: os intérpretes traduzem instruções de programação de alto nível em códigos intermediários e, em seguida, executam os códigos resultantes. Os compiladores traduzem códigos de linguagem de programação de alto nível nos códigos de objeto. Os intérpretes executam o código linha por linha, enquanto os compiladores executam os arquivos resultantes.
Interpretador e Compilador desempenham um papel muito importante na execução de programas em uma linguagem de computador. Muitas pessoas tendem a pensar que ambas são semelhantes entre si. No entanto, ambos diferem em vários contextos.
A maior diferença entre os dois é que um compilador altera diretamente o código-fonte para a linguagem de máquina, enquanto um interpretador produz um código intermediário e, em seguida, executa esse código para formar um código compreensível pela máquina. Intérpretes e compiladores têm a mesma tarefa de traduzir o código-fonte para o código da máquina, mas eles diferem nos meios de se conseguir essa tradução. Os integradores possuem recursos de diagnóstico e, assim, ao compilar um programa de alto nível, podem solicitar mensagens de erro apropriadas. No caso de um intérprete, o código de objeto não é armazenado e, portanto, não pode ser reutilizado.
Um compilador produz um código de objeto antes de criar um arquivo executável para o mesmo. O programa compilado é executado diretamente usando o código objeto. Por outro lado, um intérprete
Compilador | Intérprete | |
Definição | Instrução de alto nível na linguagem de máquina | Instrução de alto nível em um código intermediário |
Execução | Programa inteiro de uma só vez | Linha por linha |
Rapidez | Rápido | Lento |
Custo | Baixo custo | Menos |
Uso de memória | Mais | Geralmente grande quantidade de dinheiro |
Modificação Não Autorizada | Difícil (entender o fluxo do programa é uma tarefa complexa) | Fácil (entender o fluxo do programa é uma tarefa simples) |
Depuração | Difícil | Fácil |
Execução do código resultante | Por Hardware | Por outro programa |
Exemplo | Compilador C | BASIC |
Computador correndo | Qualquer | Intérprete instalado |