Diferença entre compilador e intérprete

Compilador vs Intérprete

Ao escrever programas em uma linguagem de alto nível, o computador não será capaz de entendê-los. Para que seja utilizável, você precisa convertê-lo em algo que um computador entenda. É aqui que entram os compiladores e os interpretadores, já que ambos executam a mesma função. A principal diferença entre um compilador e um interpretador é quando eles executam o código. Com um intérprete, ocódigoé executado imediatamente com a interpretação passando o código interpretado para o computador. Em comparação, um compilador não executa o código. Em vez disso, ele grava o código concluído no disco. O código gravado no disco pode ser executado a qualquer momento.

A principal diferença entre o intérprete e o compilador gera outro. Visto que o intérprete é necessário quando você executa um programa, você precisa ter um interpretador instalado se quiser executar o programa em sua máquina. Este não é o caso de um compilador. Uma vez que o programa foi compilado, você só precisa do programa compilado e não do compilador ou do código original.



Uma vantagem de usar um interpretador em vez de um compilador é a capacidade de executar o programa em computadores que executam sistemas operacionais diferentes; desde que você tenha o intérprete apropriado. Quando você compila um programa, ele serve apenas para um sistema operacional específico e não pode ser executado em outros. Para fazê-lo funcionar em outro sistema operacional, você precisa otimizar seu código para esse sistema operacional e compilá-lo novamente.

A desvantagem de usar um intérprete é a sobrecarga adicional. Um interpretador precisaria de algum poder de processamento e cada linha de código seria interpretada durante o tempo de execução. Este não é o caso quando você tem um programa compilado porque o sistema operacional pode lê-lo diretamente e executar cada comando. A etapa extra de interpretação do código faz com que o programa interpretado seja executado significativamente mais lento do que o código compilado. O interpretador também não seria capaz de tirar proveito das otimizações específicas do sistema operacional que podem permitir que um programa compilado seja executado com mais eficiência.

A escolha entre um compilador e um interpretador deve depender se você deseja portabilidade ou desempenho.

Resumo:

  1. Um intérprete executa diretamente o código, enquanto um compilador não
  2. Um intérprete precisa estar disponível na máquina de destino, enquanto um compilador não está
  3. Um programa interpretado será executado em várias plataformas, enquanto um programa compilado não
  4. Um programa interpretado irá correr mais devagar do que um programa compilado