¿Qué significa intérprete?
Un intérprete es un programa informático que se utiliza para ejecutar directamente instrucciones de programa escritas utilizando uno de los muchos lenguajes de programación de alto nivel.
El intérprete transforma el programa de alto nivel en un lenguaje intermedio que luego ejecuta, o puede analizar el código fuente de alto nivel y luego ejecutar directamente las instrucciones, lo que se hace línea por línea o sentencia por sentencia.
Definición de intérprete
Los humanos sólo pueden entender los lenguajes de alto nivel, que se denominan código fuente. Los ordenadores, en cambio, sólo pueden entender los programas escritos en lenguajes binarios, por lo que necesitan un intérprete o un compilador.
Los lenguajes de programación se implementan de dos formas: interpretación y compilación. Como su nombre indica, un intérprete transforma o interpreta un código de programación de alto nivel en código que pueda entender la máquina (código máquina) o en un lenguaje intermedio que también pueda ejecutarse fácilmente.
El intérprete lee cada declaración de código y luego la convierte o ejecuta directamente. En cambio, un ensamblador o un compilador convierte un código fuente de alto nivel en código nativo (compilado) que puede ser ejecutado directamente por el sistema operativo (por ejemplo, creando un programa .exe).
Tanto los compiladores como los intérpretes tienen sus ventajas e inconvenientes y no se excluyen mutuamente; esto significa que pueden utilizarse conjuntamente, ya que la mayoría de los entornos de desarrollo integrados emplean tanto la compilación como la traducción para algunos lenguajes de alto nivel.
En la mayoría de los casos, es preferible un compilador, ya que su resultado se ejecuta mucho más rápido que una interpretación línea por línea. En lugar de analizar todo el programa y traducirlo a código máquina como hace un compilador, el intérprete traduce el código declaración a declaración.
Aunque se reduce el tiempo de análisis del código fuente, especialmente de uno especialmente grande, el tiempo de ejecución de un intérprete es comparativamente más lento que el de un compilador. Además, como la interpretación tiene lugar por línea o declaración, puede detenerse en mitad de la ejecución para permitir la modificación del código o su depuración.
Los compiladores deben generar código objeto intermedio que requiere más memoria para ser enlazado, al contrario que los intérpretes, que suelen utilizar la memoria de forma más eficiente.
Como un intérprete lee y luego ejecuta el código en un solo proceso, es muy útil para hacer scripts y otros programas pequeños. Como tal, suele instalarse en los servidores Web, que ejecutan muchos scripts ejecutables. También se utiliza durante la fase de desarrollo de un programa para probar pequeños trozos de código uno a uno, en lugar de tener que compilar todo el programa cada vez.
Cada declaración del código fuente se ejecutará línea por línea durante la ejecución, lo que es especialmente apreciado por razones de depuración para reconocer inmediatamente los errores. Los intérpretes también se utilizan con fines educativos, ya que se pueden utilizar para mostrar a los estudiantes cómo programar un script cada vez.
Los lenguajes de programación que utilizan intérpretes son Python, Ruby y JavaScript, mientras que los lenguajes de programación que utilizan compiladores son Java, C++ y C.