…por qué los programas no vienen ya compilados?

28Sep06

Antes de responder esa pregunta, debemos saber lo que es la compilación. Compilación es el proceso por el cual se traducen programas en código fuente a programas en código objeto. El programa que realiza esta traducción se llama compilador. El archivo de código objeto que se obtiene con la compilación está representado normalmente en código de máquina, aunque tambien puede ser un código intermedio binario multiplataforma (bytecode).
Para conseguir el programa ejecutable final a partir de todos los archivos de código objeto se debe utilizar un programa llamado montador y un enlazador (linker). Este proceso de montaje tiene como resultado un archivo ejecutable (*.exe en Ms Windows) que contiene el programa en código máquina listo para ser ejecutado con ayuda del Sistema Operativo.

…exe?, no veo ningún exe!!!

¿Por qué en GNU/Linux no existe algo así como un *.exe?

– Eso es porque en GNU/Linux los “programas” no vienen compilados, y tampoco se usa *.exe.

…que difícil. Entonces, ¿cómo instalo mis programas?

– Bien, supongamos que bajamos de Internet un programa llamado nebulakoi.tar.gz. La instalación es sencilla:

a) Descomprimir el archivo. Desde la línea de comandos ejecutamos tar xvfz nebulakoi.tar.gz.
b) Compilar. Incluye dos pasos: el primero se hace con el comando ./configure; el segundo, con make. Antes de ejecutar estos comandos, tendremos que ir al directorio creado con el comando anterior, con cd nebulakoi.
c) Instalar. Si queremos que todos los usuarios de nuestra máquina puedan ejecutar el programa, hacemos make install.
En la mayoría de los casos, con esto basta para compilar e instalar aplicaciones que vienen en código fuente. Si algo sale mal, habrá que mirar las instrucciones específicas del programa, que suelen estar en un archivo readme.txt.

¿Y para que tanto desgaste? ¿Qué gano yo con esto?

– Bueno, a veces tener el código fuente tiene sus ventajas:

1) Es posible modificar los programas para adaptarlos a nuestros gustos y necesidades. Aunque no seamos desarrolladores, esto sigue siendo beneficioso, ya que la disponibilidad del código nos permite contratar a cualquier programador para que lo modifique. Esto es imposible en un sistema cerrado, donde el único que lo puede modificar es el autor original.
2) Podemos compilarlo de manera específica para nuestro sistema. Cuando conseguimos un ejecutable, éste suele estar compilado de forma genérica, para que funcione en la mayor cantidad posible de computadoras, por lo que el programa resultante puede no estar aprovechando las particularidades de nuestra PC.

Ohh! que bueno, por fin voy a sacarle todo el partido a mi máquina!!!

Arriba GNU/Linux!!!



No Responses Yet to “…por qué los programas no vienen ya compilados?”

  1. Dejar un comentario

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: