Diferenças entre compiladores e interpretadores

Canal: Programação  |  Autor: Nícolas Müller  |  Publicado em: 10/03/2009  |  Views: 5.352
Compiladores e interpretadores são formas de tradução de um código geralmente de alto nível para um código que o computador (a máquina) interprete. Este tradutor tem a função de traduzir uma linguagem abstrata para uma linguagem binária.

Compilador:

Compilador é um programa ou um grupo de programas que escrito por uma linguagem (esta sendo necessária de compilação para sua execução) ao ser compilado gera outro código que é interpretado pelo computador. Este código compilado é chamado de código objeto, podendo ser um arquivo executável que é reproduzido em um sistema operacional, por exemplo. Este tipo de tradutor é um dos mais utilizados.

Os compiladores analisam o código em três partes, de forma sintática ou hierárquica, análise léxica ou linear e anâlise semântica.

Alguns compiladores contam com um pré-processamento. Este pré-processamento é responsável por modificar o código-fonte conforme necessidades que o compilador identifique que sejam necessárias, por exemplo, otimização de código.

Vantagens:
  • O código compilado é mais rápido de ser acessado;
  • Impossibilita ou pelo menos dificulta ser quebrado e visualizado o código-fonte original;
  • Permite otimização do código por parte do compilador;
  • Compila o código somente se estiver sem algum erro.

Desvantagens:
  • Para ser utilizado o código precisa passar por muitos níveis de compilação;
  • Assim como vantagem a possibilidade de não poder visualizar o código-fonte, pode ser uma desvantagem;
  • Processo de correção ou alteração do código requer que ele seja novamente recompilado.

Interpretador:

O interpretador ao contrário do compilador roda o código-fonte escrito como sendo o código objeto, ele traduz o programa linha a linha, o programa vai sendo utilizado na medida em que vai sendo traduzido. Cada execução do programa precisa ser novamente traduzido e interpretado.

O interpretador analisa sintaticamente e semanticamente o código, se estas duas etapas forem realizadas e executadas de forma correta o código está pronto para funcionar.  

Vantagens:
  • Correções e alterações são mais rápidas de serem realizadas;
  • Código não precisa ser compilado para ser executado;
  • Consomem menos memória.

Desvantagens:
  • Execução é mais lenta do programa;
  • Necessita sempre ser lido o código original para ser executado;
Creative Commons Esta obra está licenciada sob uma Licença Creative Commons. Você pode copiar, distribuir, exibir, executar, desde que seja dado crédito ao autor original (Citando nome do autor, data, local e link de onde tirou o texto). Você não pode fazer uso comercial desta obra. Você não pode criar obras derivadas.
Vote no artigo:
NR. DE VOTO(S): [2]

Compartilhe:

[x] Fechar Preencha os campos abaixo para indicar esta página:
Seu nome:
Seu e-mail:
Nome do indicado:
E-mail do indicado:
Deixe uma mensagem:
Anti-spam:

(nova imagem)
Preencha o que vê:
Twitter diHITT Facebook delicious envie por e-mail comentar

comentarComentários:

Preencha o formulário para comentar:

[x] Fechar
Nome:*
E-mail:* (não será exibido)
Site: (http://)
Comentário:*
Anti-spam:

(nova imagem)
Preencha o que vê:

Deseja receber as respostas dos comentários

Seja o primeiro a comentar