Máquinas obedientes

Desde antigüedad los seres humanos han imaginado aparatos que obedecen sus órdenes, así lo reflejan disantos relatos mitológicos a lo largo de la historia. Ahora tenemos a nuestro servicio no solo robots industriales sino computadoras que pueden hacer tareas muy complejas, como dirigir cohetes espaciales u ofrecernos mundos virtuales donde jugar. Todas estas máquinas necesitan una serie de instrucciones, un programa para hacer lo que necesitamos.

Herón de Alejandría, conocido inventor griego del año 60, creó un carro que podía moverse en un escenario cambiando de dirección a distancias predefinidas. Su fuente de propulsión era una pesa que colgaba. Esta tiraba de un par de cuerdas enrolladas entre una serie de clavos incrustados en el eje, de manera que mientras se desenrolla va, el carro podía avanzar, girar hacia ambos lados o retroceder. La manera en la que se enrollaba la cuerda constituía el programa del autómata, se podría decir que este era el primer lenguaje de programación de la historia.

En Bagdad, en el año 800 los hermanos Banū Mūsā escribieron el Libro de los Dispositivos Ingeniosos. Describen aparatos como una lámpara de aceite que se rellena sola o las primeras cajas musicales. Éstas funcionan con cilindros cuyas protuberancias pulsan láminas metálicas que suenan con diferentes notas para crear melodías. La disposición del orden de las protuberancias constituye otro ejemplo de programación.

Fue en el año 1801 cuando se inventó una máquina verdaderamente programable: El telar de mecánico inventado por Joseph Marie Jacquard. Éste usaba tarjetas perforadas para crear diseños en los tejidos. La pianola usa un sistema similar para producir melodías, ese mismo sistema de tarjetas perforadas fue el propuesto por Charles Babbage para dar instrucciones a su máquina analítica, la primera computadora mecánica, que nunca llegó a construirse. Eso no impidió que el se escribiera un programa para esta hipotética computadora. Un algoritmo capaz de calcular una secuencia de los números complejos y por eso Ada Lovelace es considerada la primera programadora de computadoras de la historia.

A finales del siglo XIX las tarjetas perforadas se usaban como medio para guardar información. Herman Hollerith era un empresario especializado en estadística, usó su conocimiento para el censo de Nueva York de 1890. Thomas Watson se apropió de la empresa de Hollerith y le puso por nombre International Business Machines IBM sus primeras computadoras electrónicas programables fueron las llamadas Colossus y se usaban para descifrar códigos secretos durante la Segunda Guerra Mundial. En 1947 mientras trabajaba en Harvard Mark II, un ordenador electromecánico, la programadora Grace Murray percibió que algo no funcionaba. Buscando entre los cables se encontró un una mariposa que interfería con su programa, bicho en inglés se dice bug y desde entonces a los errores de programación se les llama bugs.

En sus inicios las computadoras se debían programar en el lenguaje de interruptores apagados y encendidos, secuencias de ceros y unos. Este lenguaje se llama código máquina y se clasifica como lenguaje de bajo nivel, es tremendamente complicado de aprender. Para facilitar el trabajo y gracias al uso de teclados y monitores electrónicos se inventó el lenguaje ensamblador, en el que se reemplazaban las instrucciones expresadas en secuencias de unos y ceros, por abreviaturas en inglés. Era más o menos lo mismo pero con comandos más fáciles de recordar. Finalmente mientras más crecía la complejidad de los programas se hizo necesario crear lenguajes más comprensibles para los humanos. Estos eran conocidos como lenguajes de tercera generación o lenguajes de alto nivel. El primero de estos lenguajes se llamó Fortran.

Uno de los lenguajes de alto nivel más usados para enseñar programación se llama Logo. En él se escribe una serie de instrucciones que hacen que una tortuga se mueva en cualquier dirección y realice dibujos. Le podemos decir que avance 100 unidades que rote 45 grados y avance otras 100 unidades y si lo repetimos 8 veces dibujamos un octágono. Además de órdenes o comandos un lenguaje de programación usa variables, espacios nominados que almacenan algún valor. Otro elemento son los operadores que nos sirven para cambiar la conducta del programa dependiendo del valor de las variable. Hay muchos elementos más como rutinas, funciones, bucles…

En la actualidad hay muchos lenguajes de programación, el que se usa para programar los robots Lego Mindstorms usa una interfaz gráfica y se llama Robolab. Scratch es un entrono dónde se programa con bloques de clores. Hay otros más serios como el Cobol especializado en finanzas o Basic un lenguaje multipropósito con énfasis en la facilidad de uso que popularizó la programación en los años 80. Más tarde surgiría C++, Python u otros que añaden funcionalidad a la web como SQL y PHP. Con todos ellos es posible programar útiles aplicaciones y divertidos videojuegos y ahora hasta inteligencias artificiales.

Si quieres un curso de programación totalmente gratis visita el canal. Aprende a programar desde cero, entenderás la lógica del como piensan los programadores y cómo programar, aplicaciones, paginas web, robots o juegos como este:

Prueba esta versión, utiliza las flechas de dirección para controlar el cañón.


Para que despeguemos puedes apoyarnos como mecenas en nuestro Patreon o suscribiéndote al canal de tutoriales. Para estar siempre al día de la nuevas tecnologías visita el canal de la Glitchcademia

Deja un comentario

Diseña un sitio como este con WordPress.com
Comenzar