En este post vamos a dar una explicación detallada sobre lo que implica la actividad de programar una computadora. En el imaginario colectivo existe la idea de “programar” como “crear un programa para una computadora”, pero aquí la pregunta que nos planteamos es ¿Qué es Programar? ¿Cómo es el proceso de programar?

 

Programar es darle órdenes a una computadora para que lleve a cabo una tarea determinada. Para esto, es necesario que el programador se “comunique” con la computadora de alguna manera, con el objetivo de poder dictar las órdenes a la maquina y que además la máquina pueda entenderlas y ejecutarlas. Se necesita entonces un lenguaje que comunique al programador con la pc, y para ello existe lo que se conoce con el nombre de “lenguaje de programación”. Hay muchos lenguajes de programación diferentes, cada uno tiene sus propósitos y sus características determinadas, pero todos ellos tienen cosas en común. Todos los lenguajes de programación (al igual que las lenguas humanas) tienen reglas sintácticas que el programador debe cumplir y respetar para poder escribir esas órdenes que la máquina va a ejecutar. Él debe encargarse de escribir las instrucciones en un archivo de texto siguiendo estas reglas de sintaxis. Este archivo se lo conoce en la jerga de la informática con el nombre de “código fuente”.

 

Luego de escribir las instrucciones del programa, se debe realizar un proceso denominado Proceso de compilación. ¿ Qué es la compilación ? Para explicar esto voy a hacer un breve paréntesis. Si bien hace un rato habíamos comentado que el lenguaje de programación establece una comunicación entre el programador y la computadora, falta aún un detalle por aclarar. Y es que la computadora sólo ejecuta instrucciones que están escritas en lenguaje binario, esto es, un lenguaje en donde los únicos símbolos son el 1 y el 0. Por otro lado, los lenguajes de programación permiten escribir las instrucciones utilizando un lenguaje más cercano al lenguaje humano, lo cual es más práctico y entendible para el programador, ya que escribir directamente en binario sería una tarea muy compleja y engorrosa.

 

Entonces, es necesario el uso de un programa que traduzca el lenguaje de programación (entendible por el programador) al lenguaje binario (entendible por las máquinas). Este programa se conoce como compilador, y cada lenguaje de programación posee su propio compilador (*) que se encarga de traducir las instrucciones al lenguaje de la maquina.

Luego de compilar el archivo de texto que escribió el programador, se genera un archivo nuevo que se conoce como “archivo objeto”, el cual contiene las instrucciones traducidas al lenguaje máquina.

Resumiendo hasta este punto, primero el programador (conocedor de las reglas del lenguaje de programación) escribió en un archivo de texto las instrucciones (creando de esta manera el código fuente del programa), y luego mediante el uso del programa compilador tradujo este archivo convirtiéndolo en otro archivo objeto (proceso que se llama “Compilación”), que es el archivo original traducido a lenguaje máquina. Pero aún no estamos en condiciones de utilizar el programa, ya que es necesario realizar un último proceso denominado “enlazado del código objeto” (también se conoce como “linkedición”). Lo que hace el enlazado es generar un archivo ejecutable a partir del código objeto del programa. Una vez generado este archivo ejecutable por medio del enlazado, estaremos en condiciones de ejecutar el programa.

 

Resumiendo aún más, tenemos tres procesos bien definidos a la hora de crear un programa, y los mencionamos rápidamente a modo de síntesis: 1) edición del código fuente (escribiendo las instrucciones en un archivo de texto); 2) compilación del código fuente (para generar el código objeto en lenguaje de máquina); y 3) enlazado del código objeto (que permite crear el archivo ejecutable para poder correr el programa final).

 

Básicamente y a grandes rasgos, hemos podido explicar en qué consiste el proceso de programar. Espero que haya sido de tu agrado este post, y que los diferentes ejemplos e ideas expresadas en el mismo se hayan entendido. Por cualquier duda, consulta, aporte o crítica, puedes dejar un comentario al final de la página. Me gustaría saber qué opinas sobre este tema.

 

Notas al final del post:

(*) Esta afirmación no es del todo cierta, ya que hoy por hoy existen dos grandes clases de lenguajes de programación: los lenguajes compilados y los lenguajes interpretados. Los primeros son los que deben pasar por el proceso de compilación para poder ser ejecutados. Los otros no tienen este proceso de compilación por separado, sino que tienen un programa llamado intérprete, el cuál se encarga de llevar a cabo esta compilación en el momento en que el programa se ejecuta. A los efectos de simplificar la explicación, se optó por explicar el proceso sólo para el caso de los lenguajes compilados. Aunque en un post futuro podríamos centrarnos en hablar sobre los lenguajes interpretados.

 

 


Si te gustó esta estrada del blog, puedes ayudarme a mantener el sitio mediante PayPal:




También puedes darle Me gusta a la página de Carbasoft en Facebook: