sábado, 3 de maio de 2014

Compiladores versus Interpretadores


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. Abaixo segue separadamente algumas das funções de ambos. 

  • O Compilador:
O 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. 

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.

O Compilador uni todo o programa em um arquivo EXE em formato binário, que em seguida será executado pelo computador. O processo de compilação é feito uma única vez, o que torna o processo de leitura do programa, muito rápido. Linguagens compiladas geralmente são usadas em jogos, robótica, automação industrial, pois são áreas em que a velocidade de execução do programa precisa ser rápida. 

  • O 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.

O interpretador nada mais é que um intermediário entre, o código-fonte a ser executado, e o computador, ou seja, o interpretador “entrega” o código-fonte ao computador em uma linguagem de baixo nível sempre que o programa é executado. 

Vantagens e desvantagens


Vantagens do Compilador:
  • O código compilado é mais rápido de ser acessado;
  • 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 do Compilador:
  • Para ser utilizado o código precisa passar por muitos níveis de compilação.
  • Processo de correção ou alteração do código requer que ele seja novamente recompilado.

Vantagens do Interpretador:
  • 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 do Interpretador:
  • Execução é mais lenta do programa;
  • Necessita sempre ser lido o código original para ser executado.

REFERENCIAS:

Fábio Almeida, O que são interpretadores e compiladores? Qual a diferença?. Dispnível em: < http://www.criarprogramas.com/2011/03/o-que-sao-interpretadores-e-compiladores-qual-a-diferenca> Acessado em 3 de maio de 2014.

Nícolas Muller, Diferenças entre compiladores e interpretadores. Disponível em: < http://www.oficinadanet.com.br/artigo/1527/diferencas_entre_compiladores_e_interpretadores> Acessado em 03 de maio de 2014.




Um comentário:

  1. Jackson, parabéns pelo post! Você já programa? Você prefere utilizar linguagens copiladas ou interpretadas?

    ResponderExcluir