La madre del cordero

Imagen de César

Estaba en mi cuarto curso de carrera cuando cursé una asignatura llamada Métodos y Sistemas de Cálculo Numérico. ¿He dicho Cálculo? Sí, he vuelto a nombrar el término que hace aparecer a las computadoras. Fue una suerte hacer aquella asignatura, porque en aquella asignatura aprendí a programar, y la programación es la madre del cordero en esto de la informática.

En aquella asignatura, para hacer las prácticas, aprendíamos los fundamentos de la programación en un lenguaje llamado FORTRAN. Un lenguaje tan bien elegido, por cierto, que no lo he vuelto a usar en toda mi vida. En cualquier caso, una elección mucho más fácil de justificar que algunas elecciones que se hacen actualmente en algunas universidades; lo cual no tiene ni la más mínima importancia, porque si en algo somos buenos los informáticos es en justificar nuestras elecciones, aun cuando nuestras elecciones sean una mierda. Pero, en fin, dejemos esto y volvamos a lo que íbamos...

Veamos los seis conceptos globales más básicos (y, por tanto, importantes) en esto de la programación:

¿Qué es programar? Programar es conseguir que el ordenador sepa hacer lo que alguien sabe hacer.

¿Qué es un programador? Es una persona que programa.

¿Qué es un lenguaje de programación? Un lenguaje de programación es un lenguaje inventado para que el programador le diga al ordenador cómo se hacen esas cosas.

¿Qué es el código fuente? Son las instrucciones que el programador escribe en el lenguaje de programación, es decir, en un formato legible para el programador.

¿Qué es compilar? El ordenador (el procesador) no es capaz de entender directamente el código fuente. El código fuente son letras, números y caracteres que un ser humano (el programador) puede entender. El ordenador procesa bits (eso que llaman "unos y ceros"). Compilar es pasar de ese lenguaje para humanos a lo que la computadora es capaz de procesar.

¿Qué es un programa? Es un conjunto de instrucciones escritas en un lenguaje de programación. Se le llama programa tanto cuando está en el formato que el humano puede entender (fuente) como cuando está en el formato adecuado para la computadora (binario).

Si todos estos conceptos son totalmente nuevos para ti, sería conveniente que los vieses en la práctica. Pilla a tu amigo el informático y dile que te enseñe a hacer un programilla (script). Para eso solo necesitas un editor de textos (vale hasta el bloc de notas) y el tiempo que tardes en escribir una línea de texto y guardar el archivo. Después dile que te enseñe a ver el código fuente de las páginas web, y que te explique un poquillo qué significa todo eso. Suficiente.

Repasemos, a ver si lo hemos entendido...

En el mundo físico (real) hay personas que saben hacer cosas. Después hay programadores, que son personas capaces de entender cómo se hacen esas cosas y de escribir los programas para que esas cosas puedan hacerse por ordenador. Esas cosas pueden ser: escribir una carta, calcular una nómina, enviar un correo, efectuar cálculos científicos... Los programas harán esas cosas, o le ayudarán al usuario a hacerlas. El usuario le dice al ordenador que ejecute un programa, lo que significa que el ordenador ejecutará las instrucciones que el programador programó en ese programa.

¿Hemos entendido que el código fuente es la base de toda la informática?

Si realmente hemos entendido que el código fuente es la piedra angular de toooooda la informática, y entendemos la importancia que la informática tiene en nuestro presente y tendrá en nuestro futuro, estaremos en disposición para valorar por nosotros mismos la importancia de tener y de poder leer y entender el código fuente; y estaremos en disposición para valorar por nosotros mismos una decisión como la de eliminar la programación del currículo de nuestros escolares, dando lugar a no sé cuántas hornadas de jóvenes que terminan su formación reglada sin ser capaces, ya no solo de programar, sino de leer una sola línea de código.

Si lo pensamos, tal vez lleguemos a la conclusión de que lo de justificar decisiones, aunque las decisiones sean una enorme cagada, no es exclusivo de los informáticos. Lo dejamos como ejercicio para el lector.