Compiladores e Intérpretes

Bienvenidos nuevamente al curso de Fundamentos de Programación. En esta lección hablare de manera general acerca de los compiladores e intérpretes; con la finalidad de entender cómo se lleva a cabo la traducción de un lenguaje de alto nivel para su ejecución.

Compilador

Un compilador es un traductor que transforma el lenguaje fuente (lenguaje de alto nivel) en lenguaje objeto (lenguaje máquina). La compilación también se puede dar de un lenguaje de alto nivel a un lenguaje de bajo nivel (ensamblador).

El lenguaje objeto es directamente ejecutable por la computadora u otro programa como una máquina virtual.

El compilador del lenguaje C transforma las instrucciones escritas en C (fuente) en lenguaje máquina (objeto).

El compilador de Java convierte el código en java (fuente) en bytecodes (objeto) que son ejecutados por la Máquina Virtual de Java.

Intérprete

En ciencias de la computación , un intérprete es un programa que ejecuta directamente instrucciones escritas en un lenguaje de programación o scripting , sin requerir que previamente hayan sido compiladas en un programa de lenguaje de máquina

El intérprete transforma el programa de alto nivel en un lenguaje intermedio que luego ejecuta, o podría analizar el código fuente de alto nivel y luego ejecuta los comandos directamente, lo hace línea por línea o declaración por declaración.

Python lleva una doble vida. Es un intérprete para scripts que puede ejecutar desde la línea de comandos o como aplicación si hace clic dos veces sobre su icono. Pero también es un intérprete interactivo que puede evaluar sentencias y expresiones arbitrarias.

Compiladores vs Intérpretes

En la mayoría de los casos, un compilador es más favorable ya que su salida se ejecuta mucho más rápido en comparación con una interpretación línea por línea. Sin embargo, dado que la interpretación ocurre por línea o declaración, se puede detener en medio de la ejecución para permitir la modificación o depuración del código. 

Ambos tienen sus ventajas y desventajas y no son mutuamente excluyentes; Esto significa que pueden usarse en conjunto, 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.

Figura 3. Compilador vs Interprete

Referencias

About Technology. (2017). Difference Between Compiler and Interpreter. 5 de abril del 2020, de About Technology Sitio web: https://techdifferences.com/difference-between-compiler-and-interpreter.html

Wikipedia. (2020). Interpreter (computing). 5 de abril del 2020, de Wikipedia Sitio web: https://en.wikipedia.org/wiki/Interpreter_(computing)

Faiçal Tchirou. (2017). Compilers and Interpreters. 5 de abril del 2020, de hackernoon Sitio web: https://medium.com/hackernoon/compilers-and-interpreters-3e354a2e41cf

techopedia. (2018). Interpreter. 5 de abril del 2020, de techopedia Sitio web: https://www.techopedia.com/definition/7793/interpreter

guru99. (2017). Compiler vs Interpreter: Complete Difference Between Compiler and Interpreter. 5 de abril del 2020, de guru99 Sitio web: https://www.guru99.com/difference-compiler-vs-interpreter.html

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *