quarta-feira, 8 de setembro de 2010

Amazing Grace, la inventora de los lenguajes de programación

Lord Byron.
Entre los informáticos está generalizada la idea de que la primera programadora fue Ada Lovelace, hija de Lord Byron, que ayudó a Charles Babbage a promocionar su Máquina Analítica con un artículo en el que daba algunos ejemplos de cómo podría funcionar, incluyendo un programa que calculaba la serie de números de Bernoulli. Lo malo es que es más leyenda que otra cosa.


El artículo existió, claro; en principio iba a ser la traducción de otro escrito por el matemático italiano Luigi Menabrea, pero Ada terminó ampliándolo enormemente y añadiéndole un cierto toque poético, además de algún ejemplo de cómo se podría utilizar la máquina para cualquier cálculo. El algoritmo descrito para calcular los números de Bernoulli se considera el primer programa jamás escrito, pero por lo que se ve fue obra del propio Babbage, quien no obstante siempre reconoció el valor del trabajo de Ada, una de las primeras personas capaces de entender, apreciar y ser capaz de comunicar al mundo qué estaba haciendo el inventor inglés.

Lo cierto es que los primeros programadores de los primeros ordenadores de verdad, allá por los años 40, fueron, casi todos, de sexo femenino. El Eniac, el primer computador electrónico, fue construido por hombres, pero programado por un grupo de seis mujeres comandadas por Betty Snyder. Y el Harvard Mark I, el ordenador electromecánico inspirado en el trabajo de Babbage, fue programado bajo las directrices de Richard Bloch y Grace Hopper, quizá la programadora más influyente de los primeros años de la historia de la informática.

La mayor parte de estas programadoras eran jóvenes que venían de trabajar como computadoras humanas; personas que se encargaban de hacer a mano los cálculos necesarios para, por ejemplo, generar tablas que permitiesen a los artilleros dar en el blanco a la primera. Un trabajo perfectamente inútil, dado que en el campo de batalla los militares no empleaban las tablas, sino que trabajaban a ojo. Sin embargo, Grace Hopper fue una excepción. El ataque a Pearl Harbor pilló ya con 35 años a esta matemática doctorada en Yale. Pronto decidió abandonar su cómodo trabajo como profesora universitaria en el entonces femenino Vassar College para ingresar en la Marina, donde esperaba formar parte del grupo dedicado a descifrar los mensajes nazis. En cambio, fue destinada a una "nave en tierra", como la llamaba su comandante, Howard Aiken: la Harvard Mark I.

Grace se pasó la guerra haciendo jornadas interminables, programando junto a Richard Bloch y organizando el equipo de modo que la máquina estuviera funcionando las veinticuatro horas del día. Durante este tiempo pergeñó una forma de trabajar, basada en buena medida en copiar y pegar, con los cambios necesarios, trozos de código con propósitos específicos, como calcular una raíz cuadrada y cosas así.

Grace Hopper.

También fue entonces cuando tuvo lugar una de las anécdotas más recordadas de la informática.

Desde al menos los tiempos de Edison se venía hablando de un bug (bicho) en el ámbito de la ingeniería para referirse a un fallo mecánico. El término se trasladó a la informática cuando una noche la Mark I dejó de funcionar y descubrieron que la causa era en una polilla que se había colado en sus intrincados mecanismos. Pegaron el bicho en el cuaderno de incidencias y desde entonces se llamó bugs a los errores de programación.

La programación automática y el primer compilador

Terminó la guerra y Grace, recién divorciada de su marido y enamorada de su máquina, fue rechazada por la Marina, en la que quería seguir, por ser demasiado mayor: cuarenta años, ni más ni menos. Optó por pasar a la reserva y seguir trabajando como asistente en Harvard y como segunda de Aiken. Pese a que la guerra había terminado, su jefe optó por seguir con su estilo marcial de mando. Esto provocó la marcha de buena parte del talento que se había juntado en el laboratorio de Harvard, lo que hizo que Grace cada vez trabajara más, y a más presión. Empezó a beber más de la cuenta.

Grace dejó Harvard en 1949 y entró a trabajar para EMCC, la empresa que estaba fabricando el primer Univac. Se decidió por la pequeña startup tras conocer a Mauchly y a algunas de sus programadoras, especialmente a Betty Snyder, que la impresionó. El cambio de ambiente le vino estupendamente, pero pronto los nubarrones –en forma de ruina– amenazaron la empresa, que pasó a formar parte de Remington Rand, una firma que no tenía idea de cómo iba esto de las computadoras ni parecía mostrar demasiado interés en ello. Finalmente, tras algún intento de suicidio y ser detenida luego de una borrachera, Grace comenzó a recuperarse e interesarse en un nuevo proyecto: el compilador A-0, que terminó en 1951.

Nuestra mujer llevó la idea de copiar y pegar a un nuevo nivel. Su compilador cogía un código algo más abstracto que el lenguaje de la máquina, al que ella llamaba "pseudocódigo", le añadía las funciones genéricas y producía un programa listo para usar. Calculaba que esto ahorraría mucho tiempo y permitiría emplear los ordenadores a personas no tan expertas como las de la primera generación de programadores. El lenguaje era burdo, estaba demasiado apegado al modo de funcionamiento del Univac, y los programas que generaba eran lentos de narices. Pero poco importaba, pues aquello era sólo el comienzo. Pocos años después logró que Remington Rand creara un departamento de programación automática, que es como llamaba al invento, y la pusiera al mando. En pocos años lanzó dos compiladores comerciales de cierto éxito, a los que los marquetinianos de la empresa llamaron Math-Matic y Flow-Matic. Estuvieron a punto en 1956 y 1958, respectivamente.

La creación de Cobol

Para entonces IBM se había puesto las pilas y había desbancado a las prometedoras Univac del liderazgo del naciente mercado de los ordenadores, creando de paso su primer lenguaje de programación y compilador: Fortran. Math-Matic, orientado también al ámbito científico e ingenieril, no pudo competir con él. Sin embargo, el lenguaje orientado a la gestión y la empresa, Flow-Matic, tuvo un éxito enorme. La idea de Hopper consistía en que programas creados en un inglés más o menos comprensible y sintácticamente correcto se documentarían a sí mismos, solucionando el clásico problema del programador que meses después no entiende qué hacen sus propios programas, además de permitir a personas de fuera del gremio entenderlos, incluso hacer los suyos propios.

Lo más criticado del lenguaje fue precisamente lo que muchos consideraron un abuso en el uso del inglés. Las fórmulas debían ser escritas en ese idioma, y no en el común de las matemáticas. Así, A x B = C se convertía en MULTIPLY BASE-PRICE AND DISCOUNT-PERCENT GIVING DISCOUNT-PRICE.

Naturalmente, al tener éxito le salieron competidores. Grace y otros desarrolladores de diversas empresas vieron con preocupación que en breve podrían enfrentarse a una suerte de torre de Babel en que cada máquina tuviera su propio lenguaje de programación orientado a la gestión, y cambiar de ordenador conllevara enormes costes de traducción de las aplicaciones de la empresa. Así que crearon un pequeño comité de sabios, que propuso a la Marina, primero, y al Ejército, después, la creación de un lenguaje de programación estándar. Basado principalmente en el Flow-Matic, en enero de 1960 un comité llamado Codasyl lo tuvo listo. Se llamó Common Business-Oriented Language, o Cobol.

De ahí en adelante, el principal trabajo de quien sería conocida más tarde como Amazing Grace fue promocionarlo. Su éxito fue apoteósico. En 1997 se estimó que el 80% de todas las líneas de código escritas hasta la fecha habían sido programadas en Cobol, que se ha ido adaptando a los tiempos según se han ido inventando nuevas técnicas, desde la programación estructurada a la orientación a objetos. Incluso hay quien lo usa para crear sitios web. Como el comité que estandarizó Cobol decidió emplear sólo dos caracteres para almacenar los años, hubo que adaptar todos esos programas para evitar lo que se dio en llamar Efecto 2000, que iba a provocar el fin del mundo pero que al final quedó en nada.

Grace siguió trabajando en Remington Rand, luego Sperry Rand, hasta lo que parecía que iba a ser su jubilación. Pero la Marina, que cuando cumplió 60 la había retirado de la reserva por ser –¿no lo adivinan?– demasiado mayor, le pidió siete meses después, en 1967, que por favor se hiciera cargo del desastroso estado de sus sistemas de gestión. La aplicación de nóminas había sido reescrita ya 823 veces y seguía sin funcionar bien. Nuestra heroína iba a volver a su querida Armada unos seis meses, pero la cosa se alargó un poco: finalmente se retiró, o más bien la retiraron, por razones que a estas alturas no creo que haga falta explicarles a ustedes. A la edad de 79 años, con el rango de contraalmirante: fue la primera mujer en alcanzarlo.

¿Creen que se jubiló por fin entonces? Ja. Como si no la conocieran. La firma Digital aprovechó para contratarla como consultora y ahí estuvo hasta su muerte, que no tardó en llegar sino tres años, en 1992.

Amazing Grace fue homenajeada, premiada y reconocida en todo el mundo, y hoy un destructor norteamericano lleva su nombre: el primer barco de la Armada en tener nombre de mujer desde la Segunda Guerra Mundial. El USS Hopper tiene su base en Pearl Harbor, cuyo bombardeo cambió la vida de nuestra heroína y la llevó a convertirse en una de las más destacadas pioneras de la informática.

Daniel Rodríguez Herrera

Pinche aquí para acceder al resto de la serie CEROS Y UNOS.

http://historia.libertaddigital.com

Nenhum comentário:

 
Locations of visitors to this page