Diferenças entre compiladores e interpretadores

47 Comente abaixo Nícolas Müller (@nicolas_muller)

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.

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;

Recomendamos para você
 

Compartilhe com seus amigos:
Mais de Programação
  • O que é o Sistema Binário
    O que é o Sistema Binário
  • Data Mining: Uma Introdução
    Data Mining: Uma Introdução
  • MVC está morto?
    MVC está morto?
  • O que são expressões regulares?
    O que são expressões regulares?
  • O Computador e a Programação
    O Computador e a Programação
Compartilhe com seus amigos:
últimos reviews
  • 8,4
    Review Samsung Galaxy K Zoom
    Nessas 2 últimas semanas passou por nossas mãos o potente Galaxy K Zoom, veja o que achamos dele.
  • 8,6
    Review Moto X - Segunda geração
    O aparelho da Motorola é a prova “viva” que o que está ótimo pode melhorar ainda mais.
  • 8,1
    Review Zenfone 5
    Tela de 5 polegadas, câmera de foto e vídeo superiores aos concorrentes, boa usabilidade e preço baixo. A Asus acertou n...

TOPO