Hacía tiempo que no dedicábamos unos minutos a echar la vista atrás y recordar algunos momentos y personajes clave en la historia de la tecnología que han marcado un punto de inflexión en este sector y, con su trabajo, han aportado su grano de arena para construir el ecosistema de gadgets, aplicaciones y servicios que hoy en día disfrutamos. Hoy en día, la programación nos resulta algo cotidiano y es una disciplina que se enseña en algunos colegios, en estudios de secundaria, en la universidad y, como no, también aprenden muchos de manera autodidacta; sin embargo, cuando se empezaron a construir los primeros computadores de la historia, el concepto de programación era bien distinto.

Computadoras como el ENIAC se programaban mediante conexiones realizadas mediante puentes con cables, de hecho era un trabajo que solían realizar mujeres y que, por tanto, son consideradas las primeras programadoras de la historia. Posteriormente, se pasó a las tarjetas perforadas y las cintas de papel pero seguían siendo soportes en los que era muy costoso realizar una modificación en las "líneas de código".

La historia de estos primeros computadores es, en mi opinión, algo apasionante y nombres como el ENIAC, el Harvard Mark I o, incluso, Colossus han pasado a la historia, junto a otros proyectos, como los pioneros dentro de este campo pero si hay que sumar un nombre de gran importancia a esta lista es el del Manchester Small-Scale Experimental Machine también conocida como SSEM y apodada "Manchester Baby".

¿Y por qué es importante? Como bien nos ha recordado Google en el día de hoy, hace justo 65 años la Manchester Small-Scale Experimental Machine se convirtió en la primera computadora en ejecutar un programa que estaba almacenado en su memoria. Este hito de gran importancia supuso un importante salto para el desarrollo de esta primera generación de computadores y, como tal, se recoge en la web del Computer History Museum.

Tubo Williams
Museo de Ciencias de la Tecnología (Canadá)

El contexto histórico

Durante la Segunda Guerra Mundial, Reino Unido reunió en las instalaciones de Bletchley Park al equipo de criptógrafos que descrifró los códigos que usaba la Alemania nazi en sus comunicaciones. Un grupo excepcional de matemáticos y físicos que procedían del Servicio Postal, de las Universidades de Gran Bretaña y otras entidades gubernamentales. Al terminar el conflicto bélico, los criptógrafos de Bletchley Park volvieron a sus respectivos empleos y muchos de ellos regresaron a la universidad a desarrollar proyectos de investigación alrededor de las ciencias de la computación y el desarrollo de sistemas con los que automatizar procesos o realizar cálculos.

Apoyándose en trabajos como los de John von Neumann o la Máquina de Turing, los antiguos descifradores de códigos y también los ingenieros que colaboraron en el desarrollo del radar (el otro "gran invento" de Reino Unido durante la guerra) encabezaron proyectos en universidades como la de Mánchester o Cambridge.

Manchester Small-Scale Experimental Machine (3) - Manchester Baby foto original

El desarrollo de la Manchester Small-Scale Experimental Machine

Tras la senda que abrió Colossus durante la guerra, al terminar la contienda el Laboratorio Nacional de Física de Gran Bretaña se mostró interesado en continuar con el desarrollo de computadores (puesto que podían ser de utilidad, por ejemplo, en el incipiente programa nuclear). Con esta idea pusieron en marcha el proyecto ACE (Automatic Computing Engine) y miraron hacia Frederic C. Williams que había desarrollado los tubos Williams-Kilburn (unos tubos de rayos catódicos que podían almacenar datos binarios y se habían concebido para mejorar los sistemas de radar).

Esta capacidad de los tubos Williams de almacenar datos binarios hizo que, en 1947, Williams fuese contratado para dirigir el proyecto ACE desde la Universidad de Mánchester y allí ocuparía una plaza como responsable del área de Ingeniería Eléctrica.

Williams contrataría a Tom Kilburn, que trabajaba en el Telecommunications Research Establishment (TRE), y juntos conseguirían desarrollar una matriz de tubos Williams capaz de almacenar 2.048 bits en una estructura de 64 por 32 y que los datos permaneciesen en memoria por un tiempo de alrededor de 4 horas. En vista del éxito conseguido, el británico dotó al equipo con otro ingeniero más, Geoff Tootill, que entraría en comisión de servicios para trabajar en el proyecto en septiembre de 1947.

Tomando como base esta matriz de memoria, el equipo se puso manos a la obra en la construcción de la Manchester Small-Scale Experimental Machine con el objetivo de desarrollar un demostrador con el que realizar pruebas reales con las que probar la memoria que habían desarrollado.

Para el mes de junio de 1948, la Manchester Small-Scale Experimental Machine ya era una realidad que tenía 5,16 metros de largo, 2,33 metros de altura, un peso de una tonelada y consumía 3.500 vatios. La SSEM constaba de 550 válvulas de vacío, 300 diodos y 250 pentodos (válvulas de 5 contactos) además de los tubos Williams que formaban la memoria de 32 palabras de 32 bits que servían tanto como memoria de programa como para memoria de los datos generados en la ejecución del mismo.

Los primeros programas

Se desarrollaron 3 programas para la Manchester Baby con los que se comprobaron que era viable almacenar en memoria un programa y ejecutarlo en un computador:

El primer software estaba formado por una secuencia de 17 instrucciones y se ejecutó tal día como hoy pero hace 65 años, el 21 de junio de 1948. Esta aplicación tenía como objetivo buscar el divisor más alto del número 218, una tarea que realizó mediante 3,5 millones de operaciones y 52 minutos de tiempo de proceso. Un mes más tarde, Geoff Tootill escribiría el segundo programa que se ejecutaría en la SSEM y tomaría como base el anterior para mejorarlo y optimizarlo.

El tercer programa tenía como objetivo realizar cálculos de divisiones largas y se realizó en septiembre de 1948. ¿El autor de este programa? El mismísimo Alan Turing, que había sido nombrado profesor en el Departamento de Matemáticas de la Universidad de Mánchester en septiembre de 1948.

La Manchester Baby hoy

Es una pena que la computadora Manchester Small-Scale Experimental Machine original no se conserve hoy en día, aunque gracias al trabajo invertido en este proyecto se abrió la puerta el desarrollo de proyectos como el Manchester Mark I (para la que Alan Turing diseñaría su lenguaje de programación y también escribiría un algoritmo para jugar al ajedrez) y también sería el germen del Ferranti Mark I, que se convertiría en la primera computadora comercial de propósito general.

Hace 15 años, coincidiendo con el 50º aniversario del primer software almacenado en la memoria de un computador, se construyó una réplica funcional de la SSEM que se expone en el Museo de Ciencia e Industria en Manchester y que, de vez en cuando, se pone a funcionar para enseñar a los visitantes del museo cómo funcionaban los computadores de hace 65 años.