Frances Allen, la científica de la computación que facilitó a los humanos dar instrucciones a los ordenadores

Vidas científicas

Frances Allen fue una científica de la computación pionera en varios campos cuyo trabajo ayudó a que, décadas después, sea tan fácil desarrollar programas y aplicaciones informáticas rápidas y eficientes que prácticamente cualquiera pueda crear una app que funcione en nuestros teléfonos móviles. Pero esos avances los hizo durante una carrera que se debió en parte a la casualidad.

Frances E. Allen (2008). Imagen: Wikimedia Commons.

Porque Allen, nacida en Peru, en el estado de Nueva York en 1932 en una familia de granjeros, lo que quería era ser profesora. Tras asistir a la escuela y el instituto locales, en 1954 se graduó en la Universidad del Estado de Nueva York para profesores con un título en ciencias y matemáticas y comenzó a dar clases en una escuela de su pueblo natal. Una de sus hermanas pequeñas fue su alumna. Después de dos años se matriculó en la Universidad de Michigan y obtuvo un título de máster en matemáticas en 1957.

Un trabajo breve para pagar las deudas universitarias

Debido a las deudas universitarias que tenía que devolver, ese mismo año Allen comenzó a trabajar para IBM, como formadora en el lenguaje de programación Fortran. Antes del Fortran, los programadores introducían las instrucciones en el ordenador utilizando un lenguaje de unos y ceros. Fortran, aunque aún primitivo si lo miramos a día de hoy, permitía a los desarrolladores trabajar de una forma más intuitiva. Esta idea arraigó en la mente de Allen y se convertiría en el motor de su trabajo.

Sin embargo, en ese momento su idea era trabajar el tiempo necesario para devolver los créditos contraídos y luego volver a la enseñanza de las matemáticas. No fue así: desarrolló casi todo su trabajo en IBM, donde trabajó hasta su jubilación en 2002 y a la que siguió vinculada años después de retirarse.

Mientras estudiaba ese lenguaje, Fortran, que debía enseñar a sus alumnado, Allen leyó el código fuente para el compilador que había desarrollado John Backus, también científico de la computación. Un compilador es un software o programa capaz de coger los programas y códigos escritos por humanos y convertirlos en algo que los ordenadores puedan entender. Pero por entonces eran muy lentos y requerían de mucho trabajo de cálculo, así que además necesitaban mucho espacio. “Esto despertó mi interés por la compilación”.

De IBM a la NSA

En 1959 fue asignada al proyecto Stretch/Harvest, de la Agencia Nacional de Seguridad (NSA). Stretch fue uno de los primeros superordenadores, y Harvest fue un procesador para ese superordenador desarrollado por la Agencia Nacional de Seguridad para descifrar códigos y obtener información.

Harvest. Imagen: Wikimedia Commons.

Allen y su equipo desarrollaron un solo programa de compilación capaz de manejar tres lenguajes de programación diferentes: Fortran, Autocoder (un lenguaje de programación que se utilizaba en el ámbito de los negocios) y Alpha, un nuevo lenguaje de programación desarrollado para detectar patrones en combinaciones aleatorias de cualquier alfabeto rápidamente.

Lo que Allen y su equipo consiguieron fue desarrollar un programa que permitiese escribir código en esos tres lenguajes para el Stretch, un objetivo muy ambicioso para la época que ellos lograron alcanzar. En este empeño, Allen actuó como enlace entre IBM y la NSA. El sistema que creó con sus compañeros se utilizó durante 14 años, hasta que fue retirado y sustituido en 1976.

Equilibrio entre facilidad y eficiencia

De vuelta en IBM, Allen continuó con su trabajo, intentando siempre que los compiladores que desarrollaban fuesen lo más eficientes posible para que los programadores que trabajaban con ellos pudiesen crear programas sencillos e intuitivos que funcionasen ágiles y sin problema al ser utilizados en ordenadores reales.

Junto con el investigador John Cocke, Allen publicó una serie de papers a finales de los años 60 y 70 que analizaban el delicado equilibrio entre la facilidad de creación de un programa y la eficiencia y rapidez con que éste se ejecutaba. Sus ideas fueron esenciales para la evolución de la programación informática hasta el día de hoy, cuando cualquiera con unas nociones básicas puede desarrollar aplicaciones de software relativamente rápidas y eficientes para ordenadores, smartphones y otros dispositivos.

Frances E. Allen (2011). Imagen: Wikimedia Commons.

Como resumió la profesora de Ciencias de la Computación de la Universidad de Arizona, Michelle Mills Strout, en esta necrológica publicada por The New York Times tras su muerte en agosto de 2020, Allen “fue crucial para proveer a los humanos de formas cada vez más fáciles de decirle a los ordenadores qué hacer”.

En busca del talento menos representado

Ya en su época la informática, el desarrollo y la programación eran un campo dominado principalmente por hombres. Durante los años 70 y 80, Allen se esforzó por cambiar esa dinámica y gracias en parte a sus esfuerzos, la mitad del equipo de experimentación en compiladores de IBM estaba formado por mujeres. Como parte de su trabajo buscando colaboradores y contratando personal, se esforzaba por encontrar talento entre la gente menos representada.

En 1989 se convirtió en la primera mujer IBM Fellow, un título otorgado por la compañía a los programadores, científicos e ingenieros más destacados, y en 2006 fue la primera mujer en ganar el Premio Turing. En entrevistas tras este premio declaró que esperaba que en los siguientes años hubiese “más oportunidades para mujeres en ciencia, computación e ingeniería”.

Allen falleció a causa de la enfermedad de Alzhéimer en 2020, justamente el día que cumplía 88 años.

Referencias

Sobre la autora

Rocío P. Benavente (@galatea128) es periodista.

2 comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *.

Este sitio está protegido por reCaptcha y se aplican la Política de privacidad y los Términos de servicio de Google