Gracias a Valentín Muro por la ayuda.

La informática es un campo tan dominado por los hombres que nos resulta raro escuchar “programadora”. Y sin embargo, el primer programa para una computadora fue creado por una mujer. Si bien es radicalmente diferente a lo que cualquier programador hace hoy en día, su tabla se ajusta a la definición: esa una serie de instrucciones escritas para que una computadora realice algún cálculo. ¿Quien lo creó, entonces? Fue Ada Lovelace, una matemática inglesa nacida en 1815.

¿Quien?

Ada Lovelace. Fue la única hija legítima de la unión de Lord Byrom y Anne Isabella Byron y en la lotería de los genes sacó números bastante buenos: su padre fue un reconocido escritor del movimiento romántico, escritor de “Don Juan” y héroe nacional de Grecia; su madre, por otro lado, fue una niña prodigio que estudió literatura, filosofía, ciencias y matemáticas con un profesor particular de Cambridge y otros eruditos de la época.

Su padre se separó de su mujer solo 1 mes después de que Ada naciera y murió ocho años después de una fiebre contraída en Grecia, donde había ido a participar de la guerra de la independencia de ese país. Ada fue criada casi enteramente por su madre, si se podría decir “criada”: Isabella Byrom no tenía mucho cariño para la niña, y la mayoría del tiempo la dejaba a cuidado de su abuela. En una carta, incluso, se refiere a Ada como “un objeto”. En su adolescencia, Ada era observada por un grupo de amigos de su madre para notar cualquier signo de “desviación moral”. De hecho, la relación con su madre se entiende muy bien con este comic de Hark! A Vagrant. Básicamente, los objetivos de su madre: alejarla de la influencia “malévola” de su padre y la poesía y hacer que se concentre en las ciencias.

ada-lovelace

Ada se casó en 1835 con William King y tuvieron tres hijos. Para 1840, estaba envuelta en varios escándalos: coqueteaba con otros hombres y tenía fama de jugadora. Ideó un sistema para apostar y ganar siempre, pero resultó que no tenía razón: terminó perdiendo miles. Murió en 1852 de un cáncer uterino que duró meses, durante los cuales su madre controlaba las visitas y la convenció de convertirse a la religión.

¿Cómo?

Es válido preguntarse como se escribe un programa cuando aún no habían computadoras. De hecho, no había ni electricidad. Entonces, ¿como hizo Ada Lovelace? Sí, es cierto que era una adelantada a su época, pero un genio sin contexto es nada.

La historia es así. Ada, durante toda su vida, tuvo la posibilidad de escribirse con diferentes figuras de las época. Entre sus conocidos podemos encontrar a Charles Dickens, Michael Faraday, Charles Wheatstone y Charles Babbage. Este último de extrema importancia para entender la contribución de Ada.

Babbage era un polímata,  esa gente que sabía de todo y mucho, un científico amateur. Era un matemático, ingeniero mecánico, inventor y filósofo. Se lo recuerda como “el padre de la computación” por haber ideado la primera máquina que podríamos llamar computadora: la máquina analítica. Recordemos: estamos a mediados del siglo XIX

babagge

Esta máquina podía ser programada usando tarjetas perforadas y habría sido la primer máquina “Turing completa” (antes de que Alan Turing nazca y pueda desarrollar el concepto). Explicar los conceptos de máquinas de Turing, máquinas universales de Turing y de una máquina Turing completa podría llevarme un libro entero (y conocimientos que no tengo), pero para ser breves basta con entender lo siguiente:

El concepto de Máquina de Turing Universal describe a una máquina que puede leer programas. Es decir, que puede modificar su accionar mediante una serie de instrucciones. Si te imaginás una computadora, te estás imaginando una Máquina de Turing Universal. Las máquinas anteriores a esta no eran de propósito general, sino que estaban diseñada para cumplir una sola función con conjunto de variables dados. Por ejemplo, la Máquina Diferencial, el diseño previo a la Máquina Analítica, solo podía tabular funciones polinómicas. Y sacando los límites teóricos, una Máquina Universal de Turing es una máquina “Turing Completa”, porque puede simular a cualquier otra máquina de Turing que pueda ser pensada.

Y es aquí cuando entra nuestra heroína. Como ya habíamos dicho, Ada se correspondía mucho con este señor y, por eso, cuando hubo que traducir la transcripción de una charla que había dado Babbage en Italia al inglés, Wheatstone, amigo común de ambos, le pidió a Ada que se encargue del trabajo. Pero una vez traducido, Ada y Babbage decidieron añadir notas al texto. Las notas que escribió Ada terminar siendo incluso más largas, originales y relevantes que el texto en sí. Sus escritos fueron ordenados alfabéticamente, de la A hasta la G. En la nota G, Ada describe un algoritmo para que la máquina analítica compute los números de Bernoulli. Este algoritmo se considera el primer programa para una computadora la historia. Y lo mejor es que lo podemos ver acá. ¿No es genial esto de Internet?

Sin embargo, las notas no llamaron la atención hasta 1953, cuando se lanzó una nueva edición de estas notas. Desde ese entonces, se considera a Ada Lovelace como la autora del primer programa de la historia. Es importante recordar, sin embargo, que el programa nunca se probó. Babbage nunca pudo construir su máquina por diferentes problemas de financiación y la primer máquina “Turing completa” recién fue creada.

Pero esta no fue la única colaboración de Ada a la informática. Es muy interesante como, al mejor estilo Licklider, Ada vio a las computadoras como algo más de lo que eran en ese momento. Entre sus escritos podemos encontrar frases como “la máquina analítica podría actuar sobre otras cosas además de números” e incluso llegando a preveer la creación de música digital: “la máquina podría comopner elaboradas y científicas (sic) composiciones musicales de cualquier grado de complejidad o duración”.

Legado

Ada Lovelace dejó un legado no solo con su contribución directa al desarrollo e investigación de las computadoras, sino como ejemplo de mujeres en la ciencias, un rol que mucha veces es ignorado, tanto voluntaria como involuntariamente, por muchos. De hecho, hay un día con su nombre en el que se llama a los diferentes redactores a escribir sobre mujeres en la ciencia y resaltar el rol que tuvieron para el desarrollo de la misma. El día se festeja por razones totalmente arbitrarias el 25 de Octubre, y pueden leer más sobre él en la página oficial del proyecto “Finding Ada”.

Hay también un lenguaje de programación en su honor creado por el Departamento de Defensa de Estados Unidos, basado en Pascal y otros lenguajes. Su última versión es conocida como Ada 2012.

Hasta tiene su propio doodle de Google por su cumpleaños número 197.

¿Por qué, entonces, persiste el mito de que las mujeres no sirven para informática o para las matemáticas? Es cierto que el de Ada es solo un caso, pero hay varios más. De hecho, una mujer fue la que creó el tan usado término “bug” fue adoptado en la computación por una mujer, Grace Hopper, que además hizo otras cosas muy interesantes durante los primeros pasos de la computación moderna.

Habría que analizar por qué en las clases de ingeniería la mayoría son hombres. Eso es tema para otro post y para alguien que sepa más que yo. Pero que sean pocas no resta la contribución que las mujeres han hecho al área de la informática, y eso lo podemos ver ejemplificado en Ada Lovelace.

18 Comentarios

  1. Yo te voy a decir la posta, de por qué a las mujeres no les gusta estudiar ingenierías y carreras de informática.

    Porque esas carreras, son monótonas. Si no repetis como loro lo que te dicen los profesores, no aprobás. Triste, pero cierto.

    Especialmente en carreras de programación.

    Las mujeres, odian la monotonía. Odian estar con personas con ideas cerradas. Odian estar en lugares, que no estimulen su imaginación.

    Por eso.

    • Creo que tu comentario es bastante errado o no te expresaste bien.

      Estudio Ingeniería en Informática y la programación es una de las mejores herramientas para expresar la imaginación.

  2. Es interesante recordar la participacion de todos los actores que llevaron a la computacion moderna, hubo muchos hombres y mujeres brillantes en ese camino con historias muy interesantes.
    Un pequeño comentario: las computadoras y la maquina analitica de Babage no son Maquinas de Turing completas en el sentido estricto, ya que no poseen memoria ilimitada, con lo cual hay un subconjunto de maquinas de Turing que no pueden emular. En un sentido mas laxo podemos relajar esa limitacion y decir que son “casi” maquinas de Turing completas.

  3. Otro pequeño dato sobre Ada:

    Sabían que el lenguaje de programación que lleva su nombre, y el personaje de Resident Evil, se llaman así en honor a ella?

  4. Yo creia que el termino “Bug” lo habia mencionado el asistente de Thomas Alba Edison cuando estaban probando el fonografo y sobre este se poso un bicho. El asistente dijo “There’s a bug”.

    Igual, esto me lo dijo un profesor de Algoritmos y Programacion de la UBA bastante desequilibrado y mas tarde lei que Thomas Alba Edison no invento un sorongo… asi que es muy probable que este equivocado

    • Y sabés por qué es un buen artículo? porque no lo escribió un informático.

      El tipo es periodista, fotógrafo, y filósofo. Y después, informático.

      En resumen, un capo.

      • parece que tienes algo en contra los programadores pero nosotros somos mas imaginativos de lo que piensas tambien poco monotonos por que podemos crear programa que revoucionen el mundo de la nada … me astio leer tus comentario mas arriba … cualquiera diria que eres alguien que trato de aprender a programar pero le quedo grande …

        • En realidad no estoy del todo segura de eso. La enorme mayoría de informáticos que conozco suelen ser muy cerrados y poco imaginativos, y si suelen ser bastante monótonos. En donde más se puede apreciar esto es en el diseño gráfico. Yo soy programadora analista, analista en sistemas y diseñadora gráfica a la vez. En mi ex-entorno de trabajo cuando trabajaba, siempre había pleitos y discusiones entre diseñadores y programadores. Afortunadamente ser ambas cosas, además de saber de otras cosas aparte, fue una gran ayuda para mi ya que me dio una enorme ventaja en comparación con mis colegas, ya que terminaba rápidamente las cosas y me tomaba solo un 10% del tiempo que le tomaba a los demás, ya que el 90% lo usaban ellos para discutir e intentar ponerse de acuerdo.

          La mayoría de los informáticos se enfocan solo en el código, en los errores y no existe nada más para ellos. Ciertamente los informáticos pueden hacer cosas maravillosas, pero no por ellos mismos, sino porque otra gente les pide que hagan eso. Si solo de ellos dependiera la evolución de los dispositivos, las PCs en la actualidad seguirían con el mismo esquema del MS-DOS y usando comandos de consola, probablemente solo se utilizarían las PCs para hacer cálculos científicos y nada más aparte de eso.

          Un buen ejemplo de eso es GNU/Linux, un sistema operativo hecho por informáticos y para informáticos que en más de 20 años no ha podido destronar a Windows en el escritorio y que a lo mucho solo alcanza el 2% de cuota. Solo últimamente ha empezado a ser más amigable con el usuario, empezó a alejarse de la consola y mejoro su apariencia visual. Si eso lo hubiesen hecho desde los 90’s quizás ahora el sistema operativo dominante en el escritorio seria otro. Ah y solo empezó a cambiar porque empezaron a meterse diseñadores y otro tipo de personales más casuales al mundo de GNU/Linux, de lo contrario hubiesen seguido con las mismas interfaces feas de siempre y sin innovar.

  5. Genial este articulo! me encanta leer sobre la historia de la programación y la informática, sobre todo cuando hay mujeres… de paso el comentario que no puedo dejar pasar que si es por las pinturas, era bastante linda Ada.

    PD: faltan capaz algunos enlaces en creo y partes en el texto “…la primer máquina “Turing completa” recién fue creada.” Nunca dice cuando fue creada por ejemplo.

  6. Eso explica por qué Cameron Howe quería nombrar como Ada (o lovelace) a la computadora que creó

Dejar respuesta

Please enter your comment!
Please enter your name here