¡¡Guau!!
¡Ella escribió el primer programa de computadora del mundo!
¡Echale un vistazo!
- ¿Cuándo, desde el siglo XVIII, una nación tuvo la mayor oportunidad de unir / conquistar Europa?
- ¿Por qué la industrialización tuvo lugar tan tarde en la historia humana?
- ¿De qué manera podría un regimiento de tanques cruzar la península del Sinaí sin ser notado?
- ¿Por qué se considera el Día D como un punto de inflexión en la Segunda Guerra Mundial?
- ¿Cuáles fueron los mayores saqueos de la historia?
Ada Lovelace fue la primera programadora de computadoras del mundo desde mediados de 1800, escribiendo el primer programa de computadoras del mundo en 1842. También fue una matemática consumada, lo que obviamente era bastante raro para las mujeres en la época en que vivió.
Lovelace era la única hija legítima de Lord Byron, aunque nunca lo conoció, ya que había dejado Inglaterra para siempre en sus primeros años y murió cuando ella tenía 9 años. Inicialmente, a Lovelace se le enseñaron matemáticas, algo que no era típico de las mujeres de la época, debido al hecho de que su madre estaba tratando de expulsar cualquier locura que pudiera haber provenido de Lord Byron (obviamente, su madre no pensaba demasiado en el Señor famoso). Ada mostró aptitud para las matemáticas y las ciencias y uno de sus tutores posteriores, el famoso matemático y lógico Augustus De Morgan, señaló que su habilidad excepcional en matemáticas podría algún día llevarla a convertirse en “una investigadora matemática original, quizás de eminencia de primer nivel”. “Qué razón tenía”.
Entonces, ¿cómo se convirtió Ada Lovelace en el primer programador de computadoras del mundo cuando no había computadoras en el siglo XIX? Bueno, hay muchas maneras diferentes de hacer una computadora donde la forma en que funciona “bajo el capó”, por así decirlo, es muy similar a las computadoras modernas que están “Turing Complete”. Si no está familiarizado, la clase de máquinas conocidas como “Turing Complete”, más o menos, son solo máquinas que pueden producir el resultado de cualquier cálculo. O, más acertadamente, que la máquina se puede usar para simular la computadora más simple de modo que sea capaz de hacer todo lo que esta computadora más simple puede hacer. Dado que esta computadora teóricamente más simple, una “Máquina de Turing”, puede hacer cualquier cosa que la computadora más complicada pueda hacer, entonces cualquier máquina que pueda hacer todo lo que puede hacer también puede realizar cualquier cálculo que pueda hacer una computadora moderna, suponiendo que ignoramos los tamaños de memoria y similares (suponiendo memoria infinita).
Resulta que hubo una computadora diseñada por Charles Babbage en el siglo XIX. Babbage se propuso construir una máquina que fuera capaz de hacer una variedad de cálculos matemáticos correctamente cada vez, deshaciéndose de los errores inherentes que ocurren cuando los humanos hacen cálculos a mano. Sin embargo, las primeras “computadoras” de Babbage que diseñó no eran Turing Complete. Además de esto, sus computadoras no funcionaban con electricidad, sino que eran completamente mecánicas. Algunos de sus diseños funcionaban a vapor, mientras que otros necesitaban ser accionados manualmente para girar los miles de engranajes y piezas.
El primer “motor de diferencia” de Babbage, como lo llamaba, estaba compuesto por más de 25,000 partes, con un peso aproximado de quince toneladas. Sin embargo, extrañamente nunca se completó en términos de construcción de la máquina que había diseñado; solo estaba a medio construir. Luego se le ocurrió un segundo motor de diferencia, que era una mejora en el primer motor de diferencia incompleto, capaz de devolver resultados matemáticos de hasta 31 dígitos. Nunca completó la construcción de este tampoco; aunque completó los diseños para estas máquinas que desde entonces se ha demostrado que funcionan. Específicamente, en 1991, se construyó su segundo modelo del motor de diferencia y se demostró que funcionaba haciendo una serie de cálculos. En 2000, la impresora que diseñó que se conectó al motor de diferencia fue construida y también se demostró que funcionaba.
Entonces, ¿dónde encaja Ada Lovelace en todo esto? Después de no poder construir el segundo motor de diferencia, principalmente debido a problemas de financiación, Babbage comenzó a diseñar una máquina mucho más compleja, a la que llamó el “Motor Analítico”. El motor analítico, a diferencia de sus motores de diferencia, podría programarse usando tarjetas perforadas, muy similar a cómo se programaron las primeras computadoras eléctricas (nota: hay alguna evidencia de que Ada Lovelace fue quien le sugirió esta mejora). Esto permitiría que alguien haga algún programa con las tarjetas perforadas una vez y pueda usar este programa una y otra vez, sin tener que hacer todo manualmente cada vez que quiera hacer alguna operación.
Esta máquina también pudo usar automáticamente los resultados de cálculos anteriores en cálculos futuros. Por lo tanto, puede simplemente poner un programa, hacer girar los engranajes y dejar que la máquina funcione, escupiendo todos los resultados de la ejecución de su programa. Este y otros aspectos de la arquitectura subyacente hacen que esta máquina sea sorprendentemente similar en arquitectura al funcionamiento de las computadoras modernas. Como tal, Charles Babbage es conocido como el “padre de la computadora”.
Al igual que sus primeras máquinas que estaban muy adelantadas a su tiempo, esta fue simplemente diseñada, nunca construida. Si lo hubiera construido, habría sido la primera máquina en ser Turing Complete. Por lo tanto, en términos de capacidades, asumiendo nuevamente una memoria infinita, su máquina habría podido hacer cualquier cálculo que una computadora moderna pudiera hacer.
Ada Lovelace, apodada por Babbage “La hechicera de los números”, quedó impresionada por el diseño del motor analítico de Babbage y entre 1842 y 1843 tradujo un artículo del matemático italiano Luigi Menabrea que cubría el motor. Luego complementó el artículo con notas propias en el motor, con las notas más largas que las memorias en sí. En estas notas adicionales, incluyó el primer programa de computadora del mundo que usaría la máquina para calcular una secuencia de números de Bernoulli y desde entonces se ha demostrado que es un algoritmo válido que se habría ejecutado correctamente si alguna vez se hubiera construido el motor analítico.
Además de esto, también fue una de las primeras en ver que esta computadora diseñada por Babbage podría algún día ser utilizada para hacer algo más que números crujientes, como la música y otros fines no matemáticos.