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.
Jackson, parabéns pelo post! Você já programa? Você prefere utilizar linguagens copiladas ou interpretadas?
ResponderExcluir