🦎✨ Curso Geckónico de Programación: Parte Iniciática (Historia Breve)

Arkano 0 — El Sueño de las Máquinas

Durante miles de años la humanidad construyó herramientas para ampliar sus capacidades. El martillo amplificó la fuerza, la rueda amplificó el transporte, la palanca permitió mover pesos imposibles.

Y poco a poco comenzamos a descubrir algo extraordinario, algunas tareas podían delegarse a mecanismos:

Un mecanismo podía medir el tiempo.

Otro podía elevar agua.

Otro podía mover objetos.

Otro podía ayudar a realizar cálculos.

Y entonces ocurrió algo curioso; cada vez que aparecía un problema nuevo, construíamos una máquina nueva, una para esto, otra para aquello, otra más para resolver un problema ligeramente diferente.

Y aunque los mecanismos se volvían cada vez más ingeniosos (y en muchos casos complejos), todos compartían una limitación, un problema, todos tenían algo en común:

Nacían para resolver un único problema.

... entonces la pregunta nació naturalmente (igual que en tu mente justo ahora):

¿Cómo hacemos para resolver muchos problemas distintos sin tener que inventar una máquina nueva cada vez?

Esa pregunta cambió la historia, Porque algunos inventores comenzaron a darse cuenta de algo fascinante; quizás el verdadero poder de una máquina no estaba solamente en sus engranajes, quizás estaba en su configuración, en las instrucciones, en la secuencia de acciones que ejecutaba.

... y alguien tuvo una idea revolucionaria:

¿Y si la máquina siempre fuera la misma?

¿Y si lo único que cambiara fueran las instrucciones?

Ese fue un momento iniciático, un punto de inflexión en la historia de la humanidad. Pero hay algo curioso, no ocurrió una sola vez, no ocurrió en un único lugar, ni fue obra de una única persona.

Como suele pasar con las grandes ideas, apareció de muchas formas distintas, en distintos momentos y en distintas máquinas. Algunas de esas ideas cambiaron el mundo para siempre, y son justamente las que vamos a recorrer en este Arkano.



🦎 Frase Geckónica:

"La programación nace cuando alguien separa el mecanismo de las instrucciones."

No es realmente una frase sobre computadoras, es una frase sobre abstracción, y la abstracción es el verdadero protagonista de este curso.



Los Arkanos

  • Ábaco

La primer gran idea; una herramienta puede ampliar una capacidad mental. Todavía no hay instrucciones, todavía no hay programación, pero ya aparece:

Delegar una parte del trabajo cognitivo.

Y esa es un semilla importantísima. Antes del ábaco, el cálculo era un proceso interno y efímero que ocurría exclusivamente en la mente. Si te distraías, perdías el "estado" del cálculo. El ábaco no hace el cálculo por ti (no es un motor); el ábaco es memoria física.

El Ábaco permite al usuario delegar la retención de los datos (los números intermedios) para liberar la mente y enfocarse en el algoritmo (la lógica de sumar, restar, llevar).

Es en definitiva el primer dispositivo de almacenamiento de estado.

  • Antes: Mente = Datos + Lógica (Carga cognitiva máxima, propensa a errores).
  • Con el Ábaco: Ábaco = Datos | Mente = Lógica (Nace la abstracción).

El giro disruptivo está justamente en que el ábaco es "hardware reconfigurable" manual. No existe "programación" en el dispositivo, sino que se traslada a la secuencia de movimientos que el usuario decide hacer sobre él. Si cambias la secuencia de movimientos (el "software" mental), el mismo ábaco (hardware) resuelve sumas, multiplicaciones o incluso ecuaciones complejas.

🦎 Frase Geckónica:

"El ábaco nos enseñó que podíamos confiar la memoria a la materia, liberando a la mente para la lógica. Ese fue el primer paso para convertir el pensamiento en un proceso ejecutable."


    • Autómatas

    La segunda gran idea; un mecanismo puede ejecutar comportamientos.

    Los antiguos constructores de autómatas ya habían tropezado parcialmente con esta idea, creaban mecanismos capaces de producir movimientos sorprendentes, aves que batían las alas, figuras que servían bebidas, muñecos que parecían escribir, puertas que se abrían solas.

    Durante la fabricación, mantenimiento y reparación de aquellos dispositivos que parecían casi mágicos muchas veces descubrian algo importante:

    Pequeños cambios mecánicos podían producir comportamientos diferentes.

    Cambiar una rueda, mover un pasador, modificar una leva, alterar una relación entre engranajes... y la máquina hacía otra cosa! Quizás más rápido, quizás más lento, quizás en otro orden, todavía no era programación, pero la semilla ya estaba ahí, porque comenzaba a insinuarse una idea poderosa:

    Tal vez el comportamiento de una máquina pudiera modificarse sin tener que inventar una máquina completamente nueva.

    Y una vez que esa idea aparece... ya no hay vuelta atrás.

    Por primera vez comenzaba a separarse algo que hasta entonces parecía inseparable:

    Por un lado; la estructura de la máquina... 

    ...y por otro; el comportamiento de la máquina.

    La idea todavía era difusa, pero la semilla ya estaba plantada.


    • Lógica

    Quizás una de las partes más lindas de todo, porque la lógica es rara; no es una máquina, no tiene engranajes, no tiene ruedas, no tiene palancas, y sin embargo es probablemente una de las tecnologías más importantes que inventó la humanidad.

    Esta tercer gran idea no nació de un mecanismo, nació de una pregunta:

    ¿Cómo distinguimos un razonamiento correcto de uno incorrecto?

    Durante siglos, filósofos y matemáticos descubrieron algo extraordinario; el pensamiento también podía estudiarse, las conclusiones parecían seguir patrones, las afirmaciones se relacionaban entre sí, y ciertas reglas de razonamiento parecían funcionar siempre.

    Por primera vez comenzaba a insinuarse algo revolucionario; tal vez pensar también pudiera describirse mediante estructuras, tal vez razonar pudiera convertirse en un proceso, y si un proceso puede describirse...

    ...quizás algún día también pueda ejecutarse.

    🦎 Frase Geckónica:

    "La lógica fue el momento en que la humanidad descubrió que incluso el pensamiento podía tener estructura."


    • Babbage

    En algún momento alguien se atrevió a imaginar algo que parecía imposible; una máquina capaz de resolver muchos problemas distintos.

    No una máquina para sumar, no una máquina para multiplicar, no una máquina para una tarea específica... sino una máquina general, una máquina flexible, una máquina capaz de cambiar su comportamiento simplemente cambiando las instrucciones.

    Ese alguien fue Charles Babbage. Su Máquina Analítica nunca llegó a construirse completamente, pero eso no impidió algo extraordinario, la idea ya había nacido, y algunas ideas, una vez que existen, terminan encontrando la forma de hacerse realidad.

    🦎 Frase Geckónica:

    "Babbage imaginó la máquina antes de que la tecnología de su época pudiera construirla."


    • Ada

    Ada es probablemente la primera persona que vio el monstruo completo, ve algo que incluso Babbage apenas intuía; la máquina no solamente puede calcular, puede manipular símbolos, puede seguir procedimientos, puede ejecutar instrucciones.

    Y ahí... aparece una sombra de la programación moderna. No el código, La idea.

    Muchas personas vieron en la Máquina Analítica una calculadora gigantesca, Ada Lovelace vio algo diferente, comprendió que la máquina no estaba limitada a los números si esos mismos números podían representar otras cosas...

    ...entonces la máquina también podía manipular esas otras cosas; música, símbolos, relaciones, procedimientos.

    Ada comprendió algo extraordinario; el verdadero poder de la máquina no estaba en calcular, estaba en ejecutar instrucciones, y en ese instante apareció una sombra del futuro. Todavía no existían las computadoras modernas, todavía no existían los lenguajes de programación, pero la idea ya estaba allí.

    🦎 Frase Geckónica:

    "Ada comprendió que una máquina capaz de seguir instrucciones podía llegar a hacer mucho más que calcular."


    • Computadoras

    Ahora sí, después de siglos de preguntas, después de herramientas, después de mecanismos, después de abstracciones, después de máquinas analíticas...

    Acá sí se siente el final de una aventura, después de siglos de herramientas, después de mecanismos, después de abstracciones, después de lógica, después de máquinas imaginadas, finalmente apareció la máquina universal.

    La misma máquina, distintas instrucciones. Por primera vez el comportamiento dejaba de estar atrapado dentro de los engranajes, ahora podía describirse, escribirse, modificarse. La máquina permanecía, las instrucciones cambiaban...

    ...y con ellas cambiaba todo.


    • Programación

    Entonces los programadores no aparecieron porque alguien inventó Python, ni porque se necesitaban personas que escribieran código. Los programadores aparecieron porque la humanidad finalmente construyó máquinas cuyo comportamiento podía cambiarse mediante instrucciones.

    Y entonces apareció una necesidad completamente nueva; alguien tenía que pensar esas instrucciones, alguien tenía que descomponer problemas, alguien tenía que transformar ideas en procedimientos, alguien tenía que enseñarle a las máquinas qué hacer.

    Y así, casi sin darse cuenta, la humanidad inventó un oficio nuevo:

    el de las personas que programan 🦎✨.

    🦎 Frase Geckónica:

    "La programación es el último capítulo de una historia larguísima sobre cómo aprendimos a separar las ideas de las máquinas."



    🦎✨ Pensamiento Geckónico

    Hay algo filosóficamente explosivo en el centro de todo esto, porque cuando uno llega al núcleo de la programación descubre algo curioso; programar no se trata de computadoras:

    Se trata de modelos.
    Se trata de representaciones.
    Se trata de tomar algo caótico del mundo real y convertirlo en una estructura que podamos comprender, analizar y transformar.
    Se trata de abstracción... y la abstracción es una de las herramientas más poderosas que inventó la humanidad.

    Mucho antes de Python.
    Mucho antes de Internet.
    Mucho antes de las computadoras.


    Sospechamos que algunos lectores llegaron pensando:

    "Quiero aprender programación."

    Y unos cuantos párrafos después descubrieron que en realidad están aprendiendo algo más amplio:

    Cómo observar un problema.
    Cómo simplificarlo sin destruirlo.
    Cómo modelarlo.
    Cómo transformarlo en una secuencia de decisiones.

    Y eso sirve para programar. Pero también sirve:

    Para electrónica.
    Para finanzas.
    Para diseño.
    Para ingeniería.
    Para escribir.

    Y hasta para organizar la propia vida. 🦎☕📚✨



    Cierre del Capítulo

    Durante miles de años aprendimos a delegar fuerza en las herramientas, memoria en los mecanismos y cálculos en las máquinas.

    La programación apareció el día en que descubrimos que también podíamos delegar procedimientos.

    Y desde entonces, cada programa escrito es una conversación larguísima entre una idea humana y una máquina que aprende a ejecutarla.

    ...y esa conversación es justamente la que vamos a empezar en este curso. 🦎✨.



    🦎 Curiosidad Geckónica:

    Mucho antes de las computadoras existieron máquinas extraordinariamente complejas, como el Mecanismo de Anticitera, capaz de modelar fenómenos astronómicos mediante engranajes.

    Sin embargo, incluso una maravilla así seguía resolviendo un único problema específico.

    La revolución verdadera llegaría mucho más tarde: construir máquinas capaces de resolver problemas distintos simplemente cambiando las instrucciones.



    🦎✨ Volver al índice del Curso Geckónico de Programación: "Enseñando a Pensar como Alguien que Programa"

    Volver al Capítulo Anterior del Curso: "Prólogo (¿Qué significa programar?)"

    Ir al siguiente Capítulo del  Curso: [En desarrollo]

    Comentarios

    Entradas populares