Ada Lovelace, esa gran conocida desconocida
Ada Lovelace. La primera persona en programar un ordenador. El lenguaje de programación ADA se llama así en su honor.
Exactamente eso es lo que se sabe de Ada Lovelace. Los estudiosos podrán citar además que escribió un programa para la Máquina Analítica que ideó Charles Babbage. Aquí sí que se acaba el recorrido. Nada más. Fin. Así que podemos concluir que su nombre se cita a menudo, pero prácticamente en vano. En la práctica, es una científica muy poco conocida por el gran público y, sin embargo, sus logros contribuyeron a darle su forma al mundo actual. Merece la pena, por tanto, que perfilemos quién fue esta científica, así como el contexto en el que tuvo lugar su trabajo.
Se puede decir que Ada Lovelace fue una matemática y escritora genial. La única hija reconocida del célebre autor romántico, Lord Byron. Su madre se preocupó desde su infancia por contrarrestar la influencia de su padre, de quien se separó agriamente debido a su comportamiento escandaloso para la sociedad de su época. Para ello la encaminó hacia los dominios de la lógica y la razón, orientando su formación hacia las matemáticas.
A pesar de los esfuerzos de su madre, Ada siguió interesada en la figura de su padre, con quien no llegó a tener trato, y llamó a sus hijos Byron y Gordon, en su memoria. Su actitud intelectual fue la de creer en una “ciencia poética” que examinara cómo los individuos y la sociedad se relacionan con la tecnología como una herramienta colaborativa, basándose para su avance en las capacidades humanas para la ciencia y la imaginación.
Gracias a su situación de privilegio, a los recursos empleados en su esmerada educación, a sus dotes innatas, y a su propio esfuerzo personal, llegó a descollar de manera tal que pudo entrar en contacto con científicos como Michael Faraday, Sir David Brewster, Charles Wheatstone, Andrew Cross, o el antes citado Charles Babbage, así como el autor Charles Dickens. Todos estos contactos contribuyeron a completar su educación.
En particular, su talento matemático condujo a una larga relación de trabajo y amistad con el matemático Charles Babbage, conocido hoy como el padre de los ordenadores. Cabe hacer aquí un inciso para mencionar que Babbage había ideado y construido una máquina de calcular, la Máquina Diferencial. Posteriormente ideó un engendro mucho más ambicioso, la Máquina Analítica.
Es sabido que esta máquina no llegó a construirse físicamente nunca. Sin embargo, Babbage dio a conocer los detalles de su funcionamiento. Las posibilidades que se abrían eran realmente fascinantes. La máquina era programable. Posteriormente se ha descrito como un sistema Turing-completo, de acuerdo con la definición posterior de Alan Turing. Es decir, con un poder computacional equivalente a la máquina de Turing universal y, por tanto, con el poder de realizar cualquier cálculo que cualquier otra computadora fuera capaz de hacer, provista de capacidad de almacenamiento y tiempo suficientes. En lenguaje más llano, no nos equivocaremos mucho si decimos que Babbage realizó el diseño del primer ordenador, aunque no fuera eléctrico ni se llegara a construir.
Hemos dicho antes que las posibilidades resultaron fascinantes. Así, se interesaron en esta máquina (virtual, se podría decir) algunas de las mentes más agudas de la época. En particular, el matemático italiano Luigi Federico Menabrea publicó una descripción de la máquina en francés, basada en unas conferencias que Babbage impartió en Turín. Ada, que se había interesado en la máquina ocho años antes, tradujo esta descripción al inglés y le añadió material propio, bajo el sencillo nombre de “Notas”. La séptima nota establecía un método para probar el teorema de Bernoulli, que se podía introducir en la máquina para hacerla operar con tal fin. Asimismo, fue la primera persona en darse cuenta de que la Máquina Analítica podía tener muchas más aplicaciones que el cálculo matemático. Estos logros son los que han llevado a su reconocimiento como la primera programadora de ordenadores de la historia. Babbage y Ada mostraron el camino a todos los que vinieron después.Apéndice 1: Las primeras herederas de la máquina de Babbage
La máquina analítica de Babbage no llegó a construirse físicamente, esencialmente debido a la dificultad de financiar el coste. Por otra parte, los ábacos resultaban una herramienta barata y rápida para realizar cálculos matemáticos. No fue hasta finales de los años treinta cuando la técnica disponible llevó a la construcción de las primeras calculadoras electromecánicas. Los avances en este aspecto, junto a la segunda guerra mundial, llevaron a la invención triple y por separado de las máquinas herederas de la de Babbage en la realidad, esta vez basadas en la electrónica, mediante el empleo de válvulas de vacío, una tecnología no disponible en la era de Babbage y Ada. Por una parte, en los Estados Unidos de América, para la confección de tablas de artillería. Por otra, en Alemania, para el diseño de aeroplanos. La tercera de las invenciones tuvo lugar en el Reino Unido, por Alan Turing, con el objetivo de romper códigos criptográficos empleados por el ejército alemán.
Apéndice 2: Ada Lovelace en la cultura popular: el lenguaje de programación
ADA es un lenguaje de la familia de ALGOL. Tiene muchas características heredadas o inspiradas por el Pascal. Esto quiere decir que es un lenguaje legible, intuitivo para el aprendiz, y bello de escribir. Es un lenguaje fuertemente tipificado y estructurado, como el Pascal, con un énfasis mayor en los tipos definidos ad hoc por el usuario. Esto significa que quienes programen deben hacer una reflexión sobre qué tipos de datos va a ser necesario manejar, y cómo se van a procesar. Estas y otras características lo hacen un lenguaje muy seguro, a prueba de errores. El software (los programas) para aplicaciones críticas en los Estados Unidos de América se encargan en ADA.
Para entender el significado de esto, lo podemos comparar con un lenguaje de programación muy popular actualmente, Python. ADA y Pascal son sólidos y fluyen lógicamente, mientras que Python tiende a lo ingenioso y rápido por defecto. El código de Python funciona con múltiples tipos de datos. Es un lenguaje pensado para escribir rápidamente y reutilizarse con facilidad. Pero nadie escribiría el código para el funcionamiento de la torre de control de un aeropuerto en Python. Sí en ADA.
Apéndice 3: Ada Lovelace en la cultura popular: un homenaje literario
Vamos a citar otro homenaje a Ada Lovelace, esta vez literario: La Máquina Diferencial es una novela escrita por los escritores William Gibson y Bruce Sterling, famosos fundadores del género cyberpunk. Con esta obra inventaron lo que hoy se conoce como género steampunk. Resumiendo sin spoilers: Los autores imaginan el siglo XIX de un mundo en el que Babbage sí consiguió construir su máquina, con amplísimas consecuencias económicas, sociales, y políticas. Entre una multitud de personajes, Ada aparece en un retrato muy humano, con sus luces y sus sombras, como la adicción al juego que le causó problemas en la vida real. Por otro, su genialidad la lleva a elaborar programas para probar teoremas que no se descubrieron en nuestro mundo hasta 1930. Hacia el final del libro, podemos decirlo aquí, Ada recorre el mundo como una visionaria que encuentra incredulidad, como lo hiciera en el nuestro Babbage, intentando recabar apoyo para la construcción de un nuevo tipo de máquina analítica revolucionaria, que no utilizara el vapor sino… la electricidad.
No comments:
Post a Comment