#ElPerúQueQueremos

LA BRILLANTE GRACE MURRAY HOOPER

RECONOCIDA COMO UNA MUJER DE EXCELENCIA EN COMPUTERS 

Publicado: 2017-01-19

Por: Dennis Falvy 

Tim Harford y Ben Crighton de la BBC, me trajeron a la memoria a Grace Hopper, la mujer a la que ellos señalan qe si ella , te podría tomar 5.000 años instalar Windows y están en lo cierto. Antes de entrar a lo que ellos señalan, aprovechémonos de lo que de ella se resume en el internet y lo hace bien.

Grace   Brewster Murray Hopper (Nueva York, 9 de diciembre de 1906 - Condado de Arlington, 1 de enero de 1992) fue una científica de la computación y también una militar estadounidense, con grado de contraalmirante, considerada una pionera en el mundo de las ciencias de la computación. Fue la primera programadora que utilizó el Mark I y entre las décadas de los 50 y 60, desarrolló el primer compilador para un lenguaje de programación así como también propició métodos de validación.1 2 3 4 5 Era conocida por sus amistades como Amazing Grace. 

Grace Brewster Murray, nació en Nueva York (EE. UU.). Grace fue una bisnieta de Alexander Russell, un almirante de la Armada de los Estados Unidos. Éste fue su modelo y su héroe personal. También fue nieta de un ingeniero civil, John Van Horne. Sus padres fueron Walter Fletcher Murray, corredor de seguros y Mary Campbell Van Horne. Desde muy pequeña demostró aptitudes para las ciencias y la matemática. Recibió siempre el apoyo de su abuelo y de su padre para que las estudiara, pues quería que sus hijas tuvieran las mismas oportunidades que su hijo varón. También le atrajo mucho cualquier tipo de dispositivo mecánico, tanto fue así, que con 7 años desarmó todos los relojes de su casa para ver si podía entender cómo funcionaban. En 1930 se casa con Vincent Foster Hopper, un doctor en literatura en lenguaje inglés, que durante muchos años fue presidente del departamento de inglés de la universidad de Nueva York. Vincent y Grace se divorciaron en 1945 sin tener hijos.

ESTUDIOS

Hopper estudió en varias escuelas privadas para mujeres, y en 1924 ingresó en Vassar College en Nueva York, donde estudió matemáticas y física, graduándose con honores en 1928. Poco después, obtuvo una beca para cursar una maestría en matemática en la universidad de Yale, donde se graduó en 1930.

Le ofrecieron un puesto como asistente en el departamento de matemática de Vassar College, en donde permaneció hasta 1943. Mientras continuó sus estudios en Yale, donde se doctoró en matemática en 1934.

INGRESO EN LA ARMADA

Siguiendo los pasos de su bisabuelo, en 1943 decidió unirse a las fuerzas armadas en plena segunda guerra mundial, para lo que tuvo que obtener un permiso especial. Asistió a la escuela de cadetes navales para mujeres, graduándose la primera de su clase en 1944 y con el rango de teniente. Fue enviada a Harvard para trabajar en el proyecto de computación que dirigía el comandante Howard Aiken, la construcción de la Mark I. Al acabar la Segunda Guerra Mundial, Hopper quiso seguir en la armada pero había cumplido los 40 años en 1946 (el límite eran 38) por lo que fue rechazada, aunque pudo permanecer en la reserva. Así que siguió en Harvard como investigadora junto a Aiken. Desarrolló varias aplicaciones contables para la Mark I, que estaba siendo utilizada por una compañía de seguros.

Permaneció en Harvard hasta 1949, cuando Hopper empezó a trabajar en la Eckert - Mauchly Corporation en Filadelfia, que en esos momentos estaban desarrollando las computadoras BINAC y UNIVAC I. Trabajó en esa compañía y en sus sucesoras hasta su retiro en 1971. Allí fue donde Hopper realizó sus mayores contribuciones a la programación moderna. En 1952, desarrolló el primer compilador de la historia, el A-0, y en 1957 realizó el primer compilador para procesamiento de datos que usaba órdenes en inglés, el B-0 (FLOW-MATIC), utilizado principalmente para el cálculo de nóminas.

COBOL

Tras su experiencia con FLOW-MATIC, Hopper pensó que podía crearse un lenguaje de programación que usara órdenes en inglés y que sirviera para aplicaciones de negocios. Con esta idea, las bases para COBOL habían sido establecidas, y dos años después se creó el comité que diseñó este lenguaje. Aunque Hopper no tuvo un papel preponderante en el desarrollo del lenguaje, fue miembro del comité original para crearlo, y el FLOW-MATIC fue una influencia tan importante en el diseño de COBOL, que Hopper ha pasado a la historia de la informática como su creadora. COBOL fue el primer lenguaje que ofreció una auténtica interfaz a los recursos disponibles en el ordenador, de forma que el programador no tenía que conocer los detalles específicos. Además, los programas desarrollados para una plataforma concreta podían ser ejecutados en un ordenador diferente a aquél en el cual se habían programado sin necesidad de hacer cambios.

Al final de su carrera profesional participó en los comités de estandarización de los lenguajes de programación COBOL y FORTRAN.

REINGRESO EN LA ARMADA

Hopper permaneció en la reserva hasta finales de 1966, cuando tuvo que retirarse con el grado de Capitán de fragata, por haber alcanzado el límite de edad nuevamente. Pero este retiro duró poco, ya que la armada la volvió a llamar en agosto de 1967 en principio, por un periodo de seis meses para que estandarizara los lenguajes de alto nivel que usaban, pero fue de forma indefinida. Se retiró de nuevo en 1971 pero se le pidió volver al servicio activo de nuevo en 1972. Fue ascendida a Capitán de navío en 1973. En 1983 ascendió a Contraalmirante y en 1986 se retiró de la armada de manera definitiva, siendo en ese momento la oficial de más edad de la armada de los Estados Unidos. Tras su retiro, se incorporó como asesora en Digital Equipment Corporation, participando en foros industriales, dando unas 200 conferencias por año y participando en programas educativos hasta su muerte.

Falleció mientras dormía en su domicilio de Arlington, Virginia, el 1 de enero de 1992 a los ochenta y cinco años. Fue enterrada con todos los honores militares el 7 de enero en el cementerio Nacional de Arlington.

AQUÍ LO PUBLICADO POR BBC SOBRe ESTA MUJER TAN BRILLANTE 

¿Algo más que unos y ceros?  

Uno, cero, cero, cero, uno, cero, uno, uno. Cero, uno, uno...

Ese es el lenguaje de las computadoras. Cada cosa inteligente que tu computadora hace -una llamada, una búsqueda, un juego- se reduce a unos y ceros, ¿cierto?

PUES NO PRECISAMENTE.

Más bien se reduce a la presencia o ausencia de corriente en los diminutos transistores de un chip semiconductor.

El 0 o el 1 sólo denotan si hay o no corriente.

Por suerte, no tenemos que programar las computadoras con ceros y unos... ¡imagínate cuán difícil sería!

MICROSOFT WINDOWS, POR EJEMPLO, NECESITARÍA...

VEINTE ( 20) gigabytes de espacio en el hard drive, que son 170.000 millones de unos y ceros.

• Si los imprimieras, la resma de papel A4 tendría 4 kilómetros de altura

• Si tuvieras que usar la información de esas páginas para ajustar cada transmisor manualmente y te tomara 1 segundo por interruptor

• Tardarías 5.000 años instalando Windows

COMPUTADORA A MANO

Las primeras computadoras tenían que ser programadas así. Piensa en la Automatic Sequience Controlled Calculator, conocida como Harvard Mark 1.

Era una concatenación de 15 metros de largo y 2,5 metros de alto de ruedas, varas, engranajes e interruptores.

Usaba más de 850.000 kilómetros de cable. Seguía las instrucciones de un rollo de cinta de papel perforado, como un piano de juguete.

Si querías que resolviera una nueva ecuación, tenías que calcular cuáles interruptores debían estar prendidos o apagados, cuáles cables debían estar conectados a qué.

Luego tenías que accionar todos los interruptores, conectar todos los cables y hacer todos los huecos en el papel.

Programar no sólo era un desafío que ponía a prueba la mente de los genios matemáticos, también era una labor manual tediosa, repetitiva y proclive al error.

Era enorme: empezaba por aquí... . y terminaba por acá.

Durante las décadas que le siguieron a Harvard Mark 1, máquinas más compactas y fáciles de usar, como Commodore 64, fueron llegando a escuelas.

Si eres de cierta edad, quizás recuerdas cuán milagrosos parecían tus primeros encuentros con una computadora.

Y si te preguntas cómo han progresado tanto desde Mark 1, una de las razones ciertamente es el cada vez más diminuto tamaño de sus componentes.

Pero también es impensable que las computadoras puedan hacer lo que hacen si los programadores no pudieran escribir software, como Windows, en un lenguaje parecido al humano. Ese después se traduce en unos y ceros, corrientes y no corrientes, que al final hacen el trabajo.

Lo que empezó a hacerlo posible se llama el compilador.

Y LA HISTORIA DEL COMPILADOR EMPIEZA CON UNA MUJER LLAMADA GRACE HOPPER.

Grace Murray Hopper, contraalmirante y pionera en las ciencias de comunicación, cuando las mujeres no solían ni ir al ejército ni trabajar en tecnología.

ARMADA Y FEMENINA

Hoy en día se discute mucho sobre cómo hacer que más mujeres hagan carrera en tecnología.

En 1906, cuando Grace Hopper nació en Nueva York, Estados Unidos, a pocos les preocupaba la igualdad de género en el mercado de trabajo.

Afortunadamente para ella, entre esos pocos estaba su padre, un ejecutivo de seguros de vida quien no entendía por qué sus hijas debían recibir menos educación que su hijo.

Grace Hopper fue a un buen colegio y resultó que era brillante en matemáticas.

Aunque soñaba con alistarse en la Armada como su abuelo, en ese tiempo no recibían mujeres, así que se resignó a ser una profesora.

Pero en 1941, cuando el ataque a Pearl Harbour arrastró a Estados Unidos a la Segunda Guerra Mundial, el talento femenino también fue llamado a luchar, y la Armada empezó a aceptar mujeres. Grace se alistó inmediatamente.

MATEMÁTICA A BORDO

Si te estás preguntando de qué le sirve a la Armada una matemática, piensa en que tienes que apuntar un misil: ¿en qué ángulo y dirección lo debes lanzar?

Se necesitaba lápiz y papel.

La respuesta depende de muchas cosas: cuán lejano está el blanco; cuál es la temperatura, la humedad, la velocidad y la dirección del viento.

Los cálculos no son complejos pero toman un tiempo precioso si los hace una "computadora" humana: alguien con lápiz y papel.

¿QUIZAS HABIA UNA FORMA MAS RAPIDA?

A la Armada le intrigaba el potencial de ese artilugio que recientemente había hecho un profesor de Harvard, Howard Aiken.

Se trataba de Mark 1 y como ahora contaban con una lugarteniente matemática, la enviaron a que trabajara con Aiken a ver qué podían hacer.

LA POLILLA QUE HIZO HISTORIA

A Aiken no le cayó muy en gracia que le mandaran a una mujer a unirse a su equipo, pero poco después Hopper lo había impresionado tanto que le pidió que escribiera el manual de operaciones.Saber qué debería decir ese manual implicaba mucha experimentación.  

La mayoría de las veces, Mark 1 se detenía después de apenas empezar, Y no había un mensaje de error amable, como ocurre ahora.

Una vez fue porque una polilla se había metido en la máquina... y tal parece que de ahí viene el término "debugging", que es como se dice "depurar programas" en inglés, pues la polilla es un bicho y bicho se dice "bug" en inglés (aunque hay quienes aseguran que el término ya existía). Adjuntamos a este post la imagen “Creative Commons “(Image caption) que tiene sus derechos de autor, donde se puede apreciar a la  polilla intrusa, la  que quedó inmortalizada en las notas de los operadores.  

Pero generalmente, ese bug era metafórico: un interruptor mal accionado, un hueco que no debería estar en el papel... Para hallarlos se precisaba de una labor de detective ardua y monótona.

Hopper y sus colegas empezaron a llenar libretas con trozos de código comprobado y reutilizable.

Para 1951, las computadoras habían avanzado lo suficiente para guardar esos trozos -llamados "subrutinas"- en sus propios sistemas de memoria.

¿PURA PEREZA O SENTIDO COMÚN?

Para entonces, Hopper trabajaba para una compañía llamada Remington Rand.

Allá trató de convencer a su jefe de que permitiera que los programadores nombraran esas subrutinas con palabras familiares, es decir, cosas como "sustraer impuestos del salario" en vez de -como explicó Hopper- "tratar de escribir eso en código octal o usando todo tipo de símbolos".

Y dijo: Nadie lo había pensado antes porque no eran tan perezosos como yo"

Eso no era cierto: Hopper era conocida por trabajar duro.

Pero no todo era ganancia: la idea del compilador involucraba una contrapartida. Hacía que la programación fuera más rápida, pero los programas resultantes funcionaban más lentamente.

Por eso Remington Rand la rechazó. Cada cliente tenía sus propios requerimientos para su flamante máquina computadora, así que tenía sentido que los expertos de la compañía las programaran para que fueran lo más eficientes posible.

¡NO HAY PROBLEMA!

Hopper no se desanimó: sencillamente escribió su primer compilador en su tiempo libre. Y a otros les fascinó, pues les ayudaba a pensar con más claridad.

Uno de ellos fue un cliente llamado Carl Hammer, un ingeniero quien lo usó para resolver una ecuación con la que sus colegas habían estado lidiando durante meses: Hammer escribió 20 líneas de código y la resolvió en un día.

Programadores afines de todo EE.UU. empezaron a mandarle nuevos trozos de código a Hopper, quien los iba guardando en la memoria hasta la próxima publicación.

EN EFECTO, HOPPER ESTABA CREANDO EL SOFTWARE DE CÓDIGO ABIERTO.

Para los años 80, se vio la necesidad de movimientos como los de código abierto o software libre. Pero, por ahora, Hopper estaba en busca de un lenguaje más amigable.

Su compilador se convirtió en uno de los primeros lenguajes de programación, COBOL; y, fundamentalmente, abrió el camino a la distinción ahora conocida entre hardware y software.

Con máquinas como Harvard Mark 1, el software era el hardware: ninguno de sus patrones de interruptores funcionaría en otra máquina que estuviera conectada de forma distinta.

Pero si una computadora tiene un compilador, puede ejecutar cualquier programa que lo use.

Desde entonces, más y más capas de abstracción han separado a los programadores humanos de los chips físicos.

Y cada una de esas capas ha sido un paso más en la dirección en la que Grace Hopper demostró que era más sensata: liberar el poder intelectual del programador para que piense en algoritmos y conceptos, no en interruptores y cables.

Para Hopper, sus colegas inicialmente se resistieron no porque querían que los programas funcionaran más rápido, sino porque disfrutaban del prestigio que les daba ser los únicos que podían comunicarse con la casi divina computadora en representación de los meros mortales que se limitaban a comprarla.

"Los sumos sacerdotes", los denominaba la matemática.Hopper pensaba que cualquier persona debería poder programar. Ahora, cualquiera puede. Y las computadoras son mucho más útiles gracias a ella.


Escrito por

dennis falvy

Economista de la Universidad Católica con un master en administración en la Universidad de Harvard; periodista en economía .


Publicado en