Interpretadores e copiladores
Quando passa na televisão a cerimônia de premiação do Oscar, é comum que esteja presente um intérprete, que ouve o que os artistas estrangeiros estão falando e repete o que ouviu em português, para que possamos compreender. Para pessoas que não conhecem o idioma estrangeiro, um intérprete é necessário para que compreendam o que está sendo falado.
Um interpretador é um programa que age como se fosse um intérprete, percorrendo as instruções de um programa escrito em uma determinada linguagem de programação e, à medida em que vai interpretando cada instrução, vai traduzindo para o processador, que então executa cada ação correspondente.
Compiladores
Imagine que você obteve um texto em japonês e não conhece este idioma. Mas, felizmente, você tem um amigo que conhece!
Você poderia se encontrar com seu amigo e pedir que ele lesse para você o que está escrito no texto. Isto resolveria o problema, porém se você tiver a intenção de ler o texto novamente em outra ocasião, teria que chamar seu amigo novamente, o que definitivamente não o faria feliz.
Uma opção melhor, neste caso, seria pedir ao seu amigo que escrevesse uma tradução do texto para você. Uma vez de posse do texto em português, você poderia relê-lo quantas vezes quisesse, sem precisar traduzi-lo novamente.
O que um compilador faz é parecido com uma tradução. Ele traduz um programa escrito em uma determinada linguagem de programação para linguagem de máquina. Após a compilação, você obtém um programa que o computador sabe executar por conta própria, sem precisar mais do compilador. Ou seja, você obtém um programa executável.
Linguagem de programação de alto nível
É como se chama, na ciência da computação de linguagens de programação , uma linguagem com um nível de abstração relativamente elevado, longe do código de maquinas e mais próximo à linguagem humana. Desse modo, as linguagens de alto nível não estão diretamente relacionadas à arquitetura do computador. O