Generalmente escribimos un programa de ordenador utilizando un lenguaje de alto nivel. Un lenguaje de alto nivel es aquel que es comprensible para nosotros, los humanos. Esto se llama código fuente.
Sin embargo, un ordenador no entiende el lenguaje de alto nivel. Sólo entiende el programa escrito en 0 y 1 en binario, llamado código máquina.
Para convertir el código fuente en código máquina, utilizamos un compilador o un intérprete.
Tanto los compiladores como los intérpretes se utilizan para convertir un programa escrito en un lenguaje de alto nivel en código máquina entendido por los ordenadores. Sin embargo, existen diferencias entre el funcionamiento de un intérprete y un compilador.
Interpretador Vs Compilador
Interpretador | Compilador |
---|---|
Traduce el programa una sentencia a la vez. | Escanea todo el programa y lo traduce en su conjunto a código máquina. |
Los intérpretes suelen tardar menos en analizar el código fuente. Sin embargo, el tiempo total de ejecución es comparativamente más lento que el de los compiladores. | Los compiladores suelen tardar mucho tiempo en analizar el código fuente. Sin embargo, el tiempo total de ejecución es comparativamente más rápido que los intérpretes. |
No se genera código objeto intermedio, por lo que son eficientes en cuanto a memoria. | Genera código objeto intermedio que además requiere enlazarse, por lo que requiere más memoria. |
Los lenguajes de programación como JavaScript, Python, Ruby utilizan intérpretes. | Los lenguajes de programación como C, C++, Java utilizan compiladores. |