terça-feira, 6 de agosto de 2019

COMPILADORES X INTERPRETADORES

Como dito nas postagens anteriores, explicarei agora o que são e quais as diferenças existentes entre os compiladores e interpretadores.

  • Compiladores

Puramente, são softwares destinados a traduzir um código-fonte escrito em linguagem de alto nível para uma linguagem de baixo nível. A compilação normalmente gera, ao final, um arquivo executável que se não for escrito devidamente durante a elaboração do programa, pode comprometer o resultado final. Delphi, Rust, C++ e Swift figuram na lista de tipicamente compiladas.


Resultado de imagem para compilar ou interpretar


  • Interpretadores 

Um interpretador também é um programa, só que ele não converte o código inteiro para linguagem de máquina, de imediato. O que ele faz, na verdade, é ler o código linha a linha para rodar no momento da leitura. Geralmente, os interpretadores usam uma das seguintes estratégias para a execução do código: 1) executar o código fonte diretamente ou 2) traduzir o código fonte em alguma representação intermediária e depois executar este código.Temos MATLAB, Lisp, Perl e PHP, apontadas tipicamente como interpretadas.


Resultado de imagem para interpretador





Curiosidade: Existe um compilador JIT que é a mescla de compilador e interpretador. Ou seja, não exclusivamente compila nem exclusivamente interpreta. O compilador Just-In-Time (JIT) atua em tempo de execução, isso melhora o desempenho de aplicativos. Esse é aplicado nos compiladores de Java, por exemplo, em que primeiro compila bytecodes (código intermediário) para depois serem interpretados por um JVM (Java Virtual Machine), durante a execução do programa. Isso significa que o melhor dos dois tradutores é pego e usado em um só programa.






Um comentário:

  1. Interessante saber sobre as diferenças entre compiladores e interpretadores. São termos que nós estamos utilizando e dizendo, mas a maioria das vezes não sabemos as diferenças, e isso é muito importante. Foi esclarecedor, obrigada!

    ResponderExcluir