Tipos de Tradutores
1. Compilador Um compilador é programa de computador que cria um programa semanticamente equivalente, a partir de um código fonte escrito em uma linguagem compilada, porém escrito em outra linguagem, código objeto. É usado principalmente para os programas que traduzem o código de uma linguagem de programção de alto nível para uma linguagem de programação de baixo nível, ou seja, um compilador traduz um programa de uma linguagem textual facilmente entendida por um ser humano para uma linguagem de máquina, específica para um processador e sistema operacional. Atualmente é comum compiladores que geram código para uma máquina virtual que é, depois, interpretada por um interpretador.
Vantagens:
O código compilado é mais rápido de ser acessado;
Impossibilita ou pelo menos 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.
Desvantagem:
Para ser utilizado o código precisa passar por muitos níveis de compilação;
A possibilidade de não poder visualizar o código-fonte;
Processo de correção ou alteração do código requer que ele seja novamente recompilado.
2. Interpretador Interpretadores são programas de computador que leem o código fonte de uma linguagem de programação interpretada e o converte em código executável. Em alguns casos, o interpretador lê linha-por-linha e converte em código objeto ( ou bytecode) à medida que vai executando o programa e, em outros casos, converte o código por inteiro e depois executa.
Vantagens:
Depuração simples;
Consomem menos memória;
Resultado imediato do programa ou rotina desenvolvida.
Desvantagem:
A execução do programa é mais lenta;
Estrutura de dados demasiadamente simples;
Necessário fornecer o programa fonte ao utilizador.
3. Descompilador É um programa de computador que realiza a operação inversa de um compilador, transformando o código objeto em código