¿Qué es un compilador y un intérprete?
Para poder comenzar adecuadamente, debemos hacernos la primera pregunta: ¿Qué es un compilador?
A grandes rasgos, un compilador es un programa que lee un código escrito en un lenguaje de programación (lo que llamamos el lenguaje fuente) y lo traduce a otro código en un lenguaje diferente, que llamamos lenguaje objeto o código máquina. El objetivo principal de esta traducción es que el código original, escrito en un lenguaje que nosotros podemos leer y entender como C, Java o Python, para que así pueda ser ejecutado por una computadora.
Y surge la siguiente duda: ¿Por qué es necesario un compilador?
Imagina que escribes un programa en un lenguaje como C o Java. Nosotros podemos entender este código, pero las computadoras no entienden directamente estos lenguajes, ya que están diseñados para ser fáciles de leer para nosotros, no para las máquinas. Las computadoras solo entienden instrucciones en un lenguaje binario, compuesto por ceros y unos, llamado código máquina.
Por lo tanto, el compilador actúa como un traductor, es decir, como un punto medio entre estos dos mundos: convierte las instrucciones escritas en un lenguaje entendible para nosotros como el lenguaje C en instrucciones que la computadora pueda ejecutar. El resultado es un archivo que la computadora puede ejecutar de manera eficiente.
Pero también existen los intérpretes, cuando hablamos de un intérprete, hablamos de un tipo de programa que también traduce código fuente a código ejecutable, pero lo hace de manera diferente a un compilador. Mientras que un compilador traduce todo el programa de una vez, creando un archivo ejecutable independiente, un intérprete traduce y ejecuta el código, línea por línea o instrucción por instrucción, sin crear un archivo intermedio.
En lugar de generar un archivo independiente como el compilador, el intérprete lee el código fuente, lo traduce a código máquina y lo ejecuta en tiempo real. Este proceso ocurre mientras el programa está corriendo, lo que significa que no hay un archivo ejecutable generado previamente, sino que la ejecución sucede directamente desde el código fuente.
En la Imagen 1 Compilador-intérprete es una breve referencia de cómo ocurre el proceso en ambos casos.
Imagen 1. Compilador-intérprete.En el siguiente video tendrás la explicación más detallada sobre un compilador y un intérprete:
Fuente: EDteam. (2021, July 16). Lenguajes compilados o lenguajes interpretados ¿Cuál es la diferencia? [Video]. YouTube. https://www.youtube.com/watch?v=ojqusTBq4A0
Referencia en APA: Alfred, A. V., & Ullman, J. D. (1998). Introducción a los compiladores. En Principles of compiler design (Capítulo 1). Compiladores. (n.d.). Google Books. https://books.google.com.gt/books?id=yG6qJBAnE9UC&printsec=frontcover#v=onepage&q&f=false
Comentarios
Publicar un comentario