codigo fuente

¿Qué es compilar?

Hace algunas décadas atrás, usar una computadora no era tan sencillo como lo es en la actualidad, donde tenemos todo listo, tanto el software como el hardware, preparados para trabajar ni bien presionamos el botón de encendido de la computadora. En aquellos años era necesario programar para poder obtener un resultado.

Afortunadamente, esto ya no es así, gracias a la masificación de computadoras y otros dispositivos electrónicos computacionales, hemos llegado a un punto en el cual no es necesario saber escribir una sola línea de código para usar una PC.

Sin embargo, esto no significa que términos cómo código fuente, compilador o lenguaje de programación sean palabras del pasado, ya que son la base de todo lo que hacemos a diario con nuestra tablet, smartphone o computadora personal. Si quieres aprender un poco más acerca del mundo de la programación, podemos empezar por saber qué es compilar, quizás el proceso más importante de toda la cadena de creación de un programa de software.

¿Qué es compilar?

Básicamente, la tarea de compilar se refiere al proceso de traducción del código fuente, entendiéndose por código fuente las líneas de código que se han escrito en un lenguaje de programación, en este caso un lenguaje de programación de alto nivel.

Esta compilación del código fuente de un programa se realiza debido a que el código trabajado por el lenguaje de programación  no es ejecutable directamente por la computadora, es por ella la necesidad de traducir las instrucciones contenidas en el texto al llamado “lenguaje de máquina” o código binario, la única manera posible de que la computadora entienda y luego ejecute las sentencias las órdenes e instrucciones determinadas por el código fuente.

Para realizar esta traducción, mejor llamada compilación, el desarrollador de software se vale de una herramienta llamada compilador.

¿Qué es un compilador?

Los compiladores son los programas encargados de hacer la traducción del código fuente de un programa, creado mediante un lenguaje de programación, a lenguaje de máquina o código objeto, el único tipo de lenguaje que entienden los procesadores de las computadoras.

Los compiladores básicamente se dividen en dos partes, siendo la primera de ellas el “Front End”, y que es la parte del compilador encargada de analizar y comprobar la validez del código fuente y en base a ella crear los valores de la tabla de símbolos. Esta parte generalmente es independiente del sistema operativo para el cual se está compilando un programa.

La segunda parte del compilador es la llamada “Back End”, parte en la cual es generado el código máquina, el cual es creado, de acuerdo a lo analizado en el “Front End”, para una plataforma específica, que puede ser Windows, Mac, Linux o cualquier otra.

Cabe destacar que los resultados obtenidos por el “Back End” no pueden ser ejecutados en forma directa, para ello es necesario la utilización de un proceso de enlazado, llamado “Linker”, el cual básicamente es un software que recoge los objetos generados en la primera instancia de compilación, incluyendo la información de las bibliotecas, los depura y luego enlaza el código objeto con sus respectivas biblioteca, para finalmente crear un archivo ejecutable.

Código fuente

El código fuente es la parte más importante de cualquier programa, ya que en él se determina lo que queremos que la computadora haga por nosotros. Básicamente se trata del conjunto de líneas de texto indicando órdenes y sentencias que se escriben mediante el editor de un lenguaje de programación.

El código fuente generalmente puede estar dividido en dos tipos de licencia principales: Código abierto y Código privativo.

La primera categoría de código fuente permite que cualquiera con el conocimiento necesario pueda modificarlo o reutilizarlo. Por otra parte, el código fuente privativo no permite alterar o estudiar el código, menos aún reutilizarlo en otros proyectos.