Geralmente escrevemos um programa de computador usando uma linguagem de alto nível. Uma linguagem de alto nível é aquela que é compreensível por nós, humanos. Isto é chamado código fonte.
No entanto, um computador não compreende uma linguagem de alto nível. Ele só entende o programa escrito em 0’s e 1’s em binário, chamado código de máquina.
Para converter código fonte em código de máquina, nós usamos ou um compilador ou um interpretador.
Bambos compiladores e intérpretes são usados para converter um programa escrito em uma linguagem de alto nível em código de máquina entendido por computadores. Entretanto, existem diferenças entre como um interpretador e um compilador funcionam.
Interprete Vs Compiler
Interprete | Compilador |
---|---|
Translata o programa uma declaração de cada vez. | Varredura o programa inteiro e traduz como um todo em código máquina. |
Interpreters geralmente levam menos tempo para analisar o código fonte. Entretanto, o tempo total de execução é comparativamente mais lento que o dos compiladores. | Compilers geralmente levam um grande tempo para analisar o código fonte. No entanto, o tempo de execução global é comparativamente mais rápido que os interpretadores. |
Não é gerado código objeto intermediário, portanto são eficientes em termos de memória. | Gera código objeto intermediário que requer ainda mais ligação, portanto requer mais memória. |
Linguagens de programação como JavaScript, Python, Ruby usam intérpretes. | Linguagens de programação como C, C++, Java usam compiladores. |