omo hemos comentado antes, es extremadamente raro escribir software con código de máquina a mano. Es lento, dificultoso y no es práctico.

Hemos comenzado a hablar, en lecciones anteriores, sobre lenguajes informáticos y lenguajes de programación. No obstante, este tema será abordado más adelante en una sección específica llamada “Lenguajes de la Web”.

Si bien ya hablaremos en la próxima sección sobre Lenguajes, aquí vamos a aclarar lo siguiente:

Un programador escribe código en un lenguaje de programación de más “alto nivel”, con características que son más útiles y poderosas que las operaciones simples que se encuentran a disposición en una CPU (como sumar dos números o comparar si es igual a cero).

Ahora bien, como ya hemos comentado antes: un lenguaje de programación en alto nivel no puede ejecutarse directamente por la CPU, dado que el procesador sólo entiende de código máquina. Vamos a conceptualizar las dos maneras más básicas que un lenguaje de programación tiene para funcionar: compilación e Interpretación.

Compilación

El compilador es una pieza de software (si si, también es software) que lee el código en alto nivel y lo traduce a las instrucciones del código máquina. La salida son archivos que están escritos en código máquina, es decir que contienen muchas instrucciones para que la CPU las pueda ejecutar.

Vamos a ver, por ejemplo, el siguiente código en alto nivel (que está escrito en lenguaje C++):

a = "Yo Quiero ";
b = a + "Programar";

Este código presenta dos variables: a y b. La variable a tiene una cadena de texto que dice “Yo Quiero ” (con un espacio al final), y la variable b está definida como a + “Programar”. Esto significa que la variable b en realidad tiene la siguiente cadena de texto:

b = "Yo Quiero Programar"

No obstante esta es una suposición que no podremos comprobar hasta que el programa se ejecute. Pero dado que las instrucciones del código máquina son demasiado primitivas para implementar esta operación (recuerda que sólo puede sumar dos números o comparar si un número es igual a cero), debemos recurrir a la compilación para generar una secuencia más larga de instrucciones de código de máquina encadenadas.

Compilación de un código.

https://ltwmcg.infiniteuploads.cloud/sites/53/2021/11/image-29.png

El compilador (para este caso del lenguaje C++) lee el código escrito en C++ y lo traduce y expande a una secuencia más grande de las instrucciones del código máquina. La salida de este compilador es un programa (que puede ser un .EXE o lo que sea) que contiene muchas instrucciones de código de máquina que la CPU puede ejecutar desde la memoria de la computadora.

En este caso, el “código fuente” es el código de alto nivel creado por el programador que luego fue introducido en el compilador para generar el programa. El código fuente puede pasar varias veces por el compilador y generar varias versiones del programa.