Você está na página 1de 1

COMPILAÇÃO, INTERPRETAÇÃO E BYTECODE

Compilação é o termo utilizado para descrever o processo que realiza a tradução


da linguagem de programação para a linguagem de máquina. O produto final da
compilação é o software (programa executável). O processo de compilação é sempre
complexo, pois depende de hardware, de software, de interpretações, de verificações, de
junções e de otimizações nos elementos que compreendem o código-fonte da linguagem
de programação levando em conta sua lógica, bibliotecas e as partes da plataforma onde
o software será concebido.

Interpretação é o termo utilizado para descrever o processo onde programas de


computador leem um código-fonte de uma linguagem de programação e o executam sem
necessariamente convertê-lo em um software, em outras palavras, o processo funciona
como se alguém lesse um arquivo e pedisse para o computador ir fazendo. O
interpretador, software que faz a interpretação, pode ler o código-fonte linha-a-linha e
pedir para o computador ir executando o programa ou pode ler o código-fonte inteiro
para depois realizar sua execução passo-a-passo.

Bytecode (ou “código em bytes”) é o termo utilizado para descrever compilação


para um software, normalmente de máquina virtual. Descrevendo um pouco mais, a
compilação gera como resultado um programa que pode ser executado pelo sistema
operacional e a esse programa dá-se o nome de programa executável, todavia um
bytecode apesar de ser compilado não é imediatamente executável, pois sua execução
ocorre através da interpretação de software que normalmente é uma máquina virtual,
em outras palavras, ele é um programa executável que roda somente em um software. A
principal vantagem do bytecode em relação aos outros modos está na dualidade entre a
portabilidade - o bytecode irá produzir o mesmo resultado em qualquer dispositivo - e a
ausência da necessidade do pré-processamento típico dos compiladores - o bytecode é
encarado como um produto final, cuja validação da sintaxe e tipos de dados (entre
outras funções dos compiladores) é desnecessária.
Como exemplo de plataformas que geram bytecode, temos a plataforma Java e a
plataforma .NET (lê-se ponto net).

Você também pode gostar