Hoy analizaremos esta duda que mucha gente tiene en el ambito de la programacion y que a veces es un concepto complicado de entender. El compilador es uno de los programas que tenemos que usar en algunos casos si tu carrera es una ingenieria y por mas complicado que parezca es necesario conocer las bases para entender como funciona.
Origen e Historia del Compilador
El origen etimológico de la palabra “compilador” proviene del latin “compilare” qué significa “poner junto” o “juntar. Sin embargo esto no nos dice mucho en el mundo real dónde se usa para la computación entre otras cosas. En 1950 este termino fue utilizado por Grace Murray Hopper, una científica de los Estados Unidos de America la cual utilizando una de las primeras computadoras (Mark I) invento estas herramientas relacionados con el compilador y posteriormente el primer compilador de lenguaje de alto nivel fue desarrollado por la empresa IBM de 4 a 7 años después.
¿Qué es un compilador?
Dejando al lado un poco la historia, en el mundo de la informática, un compilador es un programa traductor que transforma el código de un programa proveniente de un código fuente que normalmente es un lenguaje de programación, a otro tipo de código, el cual suele ser código maquina aunque en algunos casos puede ser traducido a otros códigos intermedios.
Para ponerlo en palabras mas sencillas, el compilador es simplemente un software que se encarga de traducir un lenguage de alto nivel a uno de bajo nivel.
El lenguaje de alto nivel suele ser el lenguaje de programación que estamos usando de los cuales conocemos muchos (ejemplo, C++) y el lenguaje de bajo nivel al que el código traducido es conocido como lenguaje maquina, el cual es un lenguaje que solo comprenden las computadoras para poder ejecutarlo (piensa por ejemplo en sistema binario para que entiendas mejor el concepto).
Como funciona un compilador y sus partes
Los compiladores tienen 2 partes que se encargan de realizar el proceso:
- Front End
- Back End
El front end es simplemente la parte en donde interactuamos con el programa para introducir el lenguaje que queremos traducir, mientras que el back end es el software que esta por detras que se encarga de realizar la traduccion.
El backend realiza las funciones de análisis y síntesis, las cuales se encargan de comprobar que la programación fuente este bien escrita y no tenga errores para poder ser procesada, y posteriormente con la síntesis generar la salida del código traducido y optimizado.
- Análisis: verificar que la fuente este bien escrita y no tenga errores
- Síntesis: procesar y generar el código traducido y optimizado
La importancia de los compiladores hoy en día
Aunque no los notemos en el día a día los compiladores son muy importantes ya que sin estos todos los lenguajes de programación serian inservibles y no tendríamos manera de controlar con aplicaciones y programas todos los dispositivos que tenemos a nuestro alrededor incluyendo todos los tipos de computadoras que existen.
Sin los compiladores, tendríamos que programar todos los equipos con el lenguaje de ensamblador de bajo nivel, el cual hace que las tareas sean mucho mas complicadas y menos eficientes a la hora de querer programar.
Por esto mismo deberas entender que detrás de cualquier lenguaje de programación que conozcas, hay en el núcleo un compilador de por medio que permite que el lenguaje funcione y le pueda dar ordenes a la computadora. Sin ese núcleo los lenguajes prácticamente serian inexistentes.
Sin embargo, hay algunas personas que hoy en día aun usan el lenguaje de ensamblador para programar, ya que al hacer esto tienes un mayor entendimiento del código y tiene ciertas ventajas, como ser un código mas seguro y que el programa se ejecuta mas rápido por el simple hecho de que no tiene que pasar por un traductor antes de ejecutarse.
Deja un comentario