* compilador: Un compilador traduce todo el código fuente (escrito en un lenguaje de alto nivel como C ++, Java o GO) al código de la máquina (instrucciones de bajo nivel específicas para el procesador de la computadora) todo a la vez, * antes de * se ejecuta el programa. El código de la máquina resultante es ejecutado directamente por la computadora.
* intérprete: Un intérprete traduce y ejecuta el código fuente de línea por línea. No crea un archivo de código de máquina separado. En cambio, lee cada línea, la traduce en instrucciones y ejecuta esas instrucciones de inmediato. Python y JavaScript son ejemplos de idiomas que generalmente usan intérpretes.
Tanto los compiladores como los intérpretes finalmente logran el mismo objetivo:transformar el código legible en humanos en una forma que el procesador de la computadora puede comprender y ejecutar. Sin embargo, lo hacen utilizando diferentes enfoques. La elección entre un compilador y un intérprete depende de factores como el diseño del lenguaje de programación, los requisitos de velocidad de ejecución y las necesidades de depuración.