¿Cómo se programó la primera computadora?

Esta es una pregunta fascinante porque la respuesta depende de lo que quiere decir con la “primera” computadora.

Mucha gente considera que Charles Babbage diseñó la primera computadora de uso general. En 1837, propuso el motor analítico. Era una computadora mecánica y nunca se construyó por completo durante su vida. En 1842, Ada Lovelace escribió notas en su motor e incluyó lo que ahora se reconoce como el primer algoritmo, o plan para resolver un problema. La idea de las computadoras y el software nació y, en cierto modo, esta condesa victoriana fue el primer programador del mundo.

Pero el motor analítico nunca se construyó y el programa de Ada Lovelace nunca se ejecutó, por lo que tuvimos que esperar casi 100 años para obtener una versión más moderna de la computadora y la programación. Aunque fue un secreto durante muchos años, Coloso fue la primera computadora eléctrica programable desarrollada en Inglaterra en 1943. Su existencia fue un secreto porque se usó para ayudar a romper mensajes encriptados alemanes en la Segunda Guerra Mundial. Pero Colossus no era una computadora de uso general y no tenía programas almacenados internamente. Fue “programado” moviendo enchufes e interruptores para alterar realmente el cableado de la computadora.

Completada en 1945, ENIAC fue la primera computadora digital electrónica de propósito general. Pero una vez más, no se trataba de una computadora con programa almacenado. Fue programado mediante el uso de paneles de cableado y tablas de funciones de interruptores. No fue sino hasta 1948 que una computadora almacenó un programa de usuario modificable en su memoria. Esta computadora era la Máquina Experimental a Pequeña Escala de la Universidad de Manchester, apodada el ‘Bebé’. Una vez que las computadoras podían almacenar programas modificables, los lenguajes de las computadoras comenzaron a evolucionar. Los primeros idiomas se conocían como lenguajes de ensamblaje: son lenguajes muy similares a las instrucciones del código de máquina que ejecuta directamente la CPU de la computadora (unidad central de procesamiento). Pero el lenguaje ensamblador es difícil de programar para los humanos y, por lo tanto, estos programas son propensos a errores. Para combatir estos problemas, se desarrollaron lenguajes de programación de “nivel superior”. Estos idiomas son “compilados” o traducidos al código de máquina. El primer lenguaje compilado de alto nivel fue Autocode: fue desarrollado para la computadora Mark I de la Universidad de Manchester a principios de la década de 1950.

Los primeros lenguajes de programación compilados se basaron en notación matemática. Fortran fue desarrollado por IBM en la década de 1950 y se convirtió en el primer lenguaje de programación popular. Pero no todos eran fanáticos del sabor matemático de los primeros idiomas. Las aplicaciones comerciales de las computadoras a menudo tenían más que ver con el “procesamiento de datos” que con las fórmulas matemáticas. Grace Hopper, de la Armada de los Estados Unidos, desarrolló un lenguaje temprano que se parecía más al inglés y evolucionó al lenguaje de programación Cobol, otro lenguaje muy popular en la historia de la informática.

Los lenguajes de programación modernos son abundantes (C, Perl, Python, Java, C ++, Objective-C, Ruby) y constantemente aparecen nuevos lenguajes. Nuestro mundo interconectado es el resultado de un inventor excéntrico, un matemático de la condesa, descifradores de códigos en tiempos de guerra y un ejército de ingenieros, matemáticos e informáticos que no pueden resistir el impulso de crear formas más nuevas y sorprendentes de resolver problemas con máquinas.