Programación para Newbies III: Lenguajes, ¿qué son?

…viene de la segunda parte…

Ya hemos revisado y aprendido la primera premisa de la programación: “Los computadores son estúpidos”. Programar entonces no es más difícil que dar instrucciones paso a paso de lo que queremos que haga. Por desgracia, (aunque no debería sorprendernos) un equipo no entiende español, inglés ni ningún otro lenguaje que los seres humanos podamos comprender. Puesto que de alguna forma tenemos que comunicarnos con el computador nace este nuevo concepto, lenguaje de programación, que será el idioma en el que le daremos las instrucciones que puestas en secuencias, formarán lo que se conoce como código fuente.

Código máquina

stock.xchng | flaivoloka
stock.xchng | flaivoloka

No voy a entrar en mucho detalle sobre el funcionamiento interno de la memoria del computador, pero les diré que ésta alterna entre ceros y unos, que vendría siendo el único lenguaje que el equipo entiende directamente. Puesto que es el código que realmente comprende el computador, se conoce como código máquina. Sorprendentemente, cuando recién aparecieron, los programadores trabajaban de esta forma. Como te podrás imaginar, programar de esta forma es sumamente difícil, imagina lo fácil que es cambiar un cero por uno (o viceversa) y eso produzca que el programa falle (como si eso fuera poco, ¡imagina lo difícil que sería encontrar el error!).

Ensamblador

Como todo el sentido de la programación es intentar simplificar las cosas, ya hacia el comienzo de los años 50 apareció el primer intento de desarrollar un lenguaje que fuera más sencillo de aprender, éste traducía las instrucciones a las correspondientes combinaciones de unos y ceros de cada equipo. Aún los programas seguían siendo dependientes de la máquina puesto que cada una tiene su propio set de instrucciones. No era perfecto, pero qué va! es más fácil de leer, comprender y más importante, de modificar. Un ejemplo de una aplicación escrita en ensamblador sería:

title Hello World Program
; This program shows "Hello World" on the screen
.model Small
.stack 100h
.data
db msg 'Hello, world!$'
.code
start:
    mov ah, 09h
    lea dx, msg ; or mov dx, offset msg
    int 21h
    mov ax,4C00h
    int 21h
end start
flickr.com | jooray
flickr.com | jooray

Aquí aparece un nuevo concepto, utilizado ampliamente en el ámbito de la programación: lenguaje de bajo nivel. Esto es cualquier lenguaje que requiere pasar por menos fases para ser transformado a código máquina y se acerca más al funcionamiento de ésta. En el caso particular de este lenguaje es que un ensamblador lo transforma a unos y ceros. Obviamente es más simple que en binario, pero aún así, es bastante críptico y muchas de las instrucciones resultan incomprensibles.

Fortran

Ya a finales del 1953, Backus, desarrolló el primer lenguaje que se conoce como de alto nivel. Al contrario que los de bajo nivel, el lenguaje pasa a ser un estándar, y no requiere instrucciones distintas para cada procesador. Un ejemplo:

program hello
    print*, 'Hello, world!'
end

Al comparar ambos programas, podemos ver que aunque hacen exactamente lo mismo (imprimir “Hello World!” en pantalla), éste último es mucho más corto (¡4 líneas contra 14, ¡casi la cuarta parte!) y más comprensible. Esto fue una revolución en el mundo de la programación y aparecieron numerosos lenguajes, pero me los voy a saltar para viajar un par de décadas más adelante…

C

El famoso libro publicado por primera vez en 1978
La segunda edición del famoso libro publicado por primera vez en 1978

Bastantes años más tarde, en 1972 Dennis Ritchie desarrolla en los laboratorios de Bell Labs el lenguaje probablemente más popular e influyente de todos los tiempos, basándose en B y BCPL (aunque la verdad es que nunca existió un A), crean el lenguaje C, principal lenguaje en el que están programados los sistemas Unix. Se le trata algunas veces de nivel medio puesto que presenta características de un lenguaje de bajo nivel, es decir, un gran control sobre la máquina, pero al mismo tiempo estructuras típicas de un lenguaje de alto nivel. Esta mezcla de Es por estas razones que es un lenguaje tan ampliamente utilizado. Para continuar con la tradición, un ejemplo del ya famoso “Hello World!” en C:

#include 

int main ()
{
    printf("Hello World!n");
    return(0);
}

Esta parte ha parecido más libro de historia que el intento de programar, pero bueno, estos contextos le dan un poco de sabor a este tema tan árido. En la siguiente parte, también veremos algo más sobre los lenguajes, pero de manera un poco más aplicada.

Un comentario en “Programación para Newbies III: Lenguajes, ¿qué son?

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 )

Google photo

Estás comentando usando tu cuenta de Google. 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 )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .