Hoy en día ya no es algo habitual el compilar programas en Ubuntu o Linux ya que todas las distribuciones tienes sus repositorios repletos de programas y de esta forma podemos instalar programas con un solo comando, pero en alguna ocasión nos podemos encontrar con que queremos instalar una aplicación y no la tenemos en los repositorios o que, cuando la encontramos en alguna pagina, solo tenemos disponible el código fuente, y viene comprimido con extensión “tar.gz”. En esos casos hay que compilar el código y después crear un ejecutable del programa para poder instalarlo. Este proceso es sencillo, pero requiere de mas comandos que un sencillo “apt-get install programa”.
Os voy a explicar lo que es compilar y para eso voy a recordar mis tiempos en los que aprendí programación en varios lenguajes, hace ya unos 15 años, y os voy a describir un poco por encima cual es el proceso de creación de un programa informático rápidamente. Este proceso tiene varios pasos que son los siguientes:
- Tenemos que tener muy claro lo que queremos que haga el programa que vamos a crear.
- Hacer un esquema que nos servirá de guía, esto es metodología de programación, y es necesaria cuando hacemos un programa de varios cientos o miles de lineas de código.
- Ahora abrimos un editor de texto y empezamos a teclear código en un lenguaje de programación, hay muchos pero unos de los mas usados es C.
- Después de escribir el código hay que compilar.
- Si después de compilar todo ha ido bien hay que crear un ejecutable.
- Finalmente nos queda usar el programa.
El paso en el cual compilamos el código que hemos escrito lo que estamos haciendo, mas bien lo hace el programa compilador, es revisar todo el código que hemos escrito y buscar posibles fallos de sintaxis ademas de incoherencias. Os voy a poner un ejemplo, si nosotros creamos un programa en C y queremos que dicho programa nos pida dos números para sumarlos y mostrarnos el resultado, una de las lineas seria así:
res=sum1+sum2;
Cuando escribimos el código fuente de un programa, lo que estamos haciendo es escribir ordenes que el ordenador va cumpliendo de una en una, estas ordenes se llaman sentencias y estas sentencias deben ir separadas unas de otras de un “;”, podéis ver en la linea anterior que el ultimo símbolo es un punto y coma. Si al escribir el código en vez de escribir ese “;” hubiésemos puesto un “,” el compilador nos mostraría un mensaje de error y no podríamos avanzar hasta el siguiente paso del proceso sin haber subsanado ese error. Esto es básicamente lo que es el proceso de compilar, que también incluye que se traduzca el código que nosotros hemos escrito a código maquina para que el ordenador pueda “entenderlo” y hacer funcionar el programa.
Pues bien, cuando nos descargamos un programa en formato “tar.gz” lo que tendremos sera el código fuente del programa, que luego tendremos que compilar para poder hacer un ejecutable y, finalmente, instalarlo en nuestro ordenador. Este proceso ya os he comentado es un poco mas complicado que hacer doble click en un archivo con extensión “deb” o “rpm”, algunos de los ejecutables de Linux. Todos o casi todos los programa en Linux los tenemos disponibles en código fuente, con lo cual obtenemos una de las grandes ventajas que tiene este sistema operativo, poder modificar el código fuente de un programa para adaptarlo a nuestras necesidades o gustos, siempre que tengamos los conocimientos necesarios sobre programación para hacerlo, claro esta :D.
No se si me habré explicado bien y si habéis entendido bien que es compilar, quizás haya usado demasiados tecnicismos, pero no veo una forma mas clara de explicar que es compilar, ¿lo habéis entendido? Espero que si. Un saludo.