Nota del editor: Este artículo forma parte de una serie que reflexiona sobre la misión Apolo 11, 50 años después.
Sin los ordenadores a bordo de la nave espacial Apolo, no habría habido alunizaje, ni un primer paso triunfal, ni una marca de agua alta para los viajes espaciales humanos. Un piloto nunca podría haber navegado hasta la Luna, como si una nave espacial fuera simplemente un avión más potente. Los cálculos necesarios para realizar ajustes en vuelo y la complejidad de los controles de empuje superaban las capacidades humanas.
La computadora de guía del Apolo, en sus dos versiones -una a bordo de la nave central y otra en el módulo lunar- fue un triunfo de la ingeniería. Los ordenadores habían tenido el tamaño de una habitación y estaban llenos de tubos de vacío, y si el ordenador del Apolo, con 70 libras, no era exactamente una miniatura todavía, inició «la transición entre la gente que presume de lo grandes que son sus ordenadores… y la que presume de lo pequeños que son sus ordenadores», bromeó una vez el historiador aeroespacial e informático del MIT, David Mindell, en una conferencia.
Las tendencias que predijo este ordenador siguieron girando, exponencialmente, durante décadas: De lo grande a lo pequeño, de los tubos de vacío al silicio, del hardware al software. Ahora, si se compara la potencia de cálculo que utilizó la NASA con la de cualquier dispositivo común, desde un reloj hasta una tarjeta de felicitación o un microondas, se produce vértigo tecnológico. Michio Kaku, físico y autor popular, lo expresó así: «Hoy en día, su teléfono móvil tiene más potencia informática que toda la NASA en 1969, cuando colocó a dos astronautas en la Luna»
Pero estos refranes ocultan el verdadero poder del ordenador del Apolo. Por supuesto, cualquier dispositivo contemporáneo tiene una capacidad de cálculo mucho mayor que la de la primera máquina, pero el ordenador del Apolo era extraordinariamente capaz, fiable y estaba a la altura de la tarea que se le encomendó. En realidad, no se podría guiar una nave espacial a la luna con un timbre inteligente.
Más en esta serie
Lea: ¿Qué significará el alunizaje para el futuro?
Para entender lo significativo que fue el sistema Apolo, y por qué su diminuta cantidad de potencia bruta de procesamiento es irrelevante, sólo hay que escuchar al programador de ordenadores OG e historiador voluntario de la NASA Frank O’Brien, que se ha pasado la vida detallando con cariño las funciones del ordenador de guiado del Apolo. El padre de O’Brien era piloto, así que Frank se convirtió en un mocoso militar. Desde muy joven se interesó por los ordenadores, y cuando uno de los viejos amigos de su padre ascendió en la NASA, llegó a sus manos los manuales técnicos que regían el funcionamiento del ordenador.
«A los 13 años, recibo una caja en Navidad, de unos 60 centímetros de lado, que pesaba un millón de libras», me dijo O’Brien. «La abrí y tenía todos los manuales técnicos de Apollo. Había montones y montones de niños mirando Playboys; yo estaba leyendo sobre ordenadores de orientación».
Desde entonces, ha pasado incontables horas aprendiendo precisamente cómo funcionaban estas máquinas. Ya de adolescente podía pilotar el simulador Apolo de la NASA. De adulto, después de obtener un título en ciencias de la computación y de trabajar una larga temporada como programador corporativo, escribió el libro The Apollo Guidance Computer, una oda a la máquina.
El Apollo Guidance Computer en el módulo de mando tenía dos tareas principales. En primer lugar, calculaba el rumbo necesario hacia la luna, calibrado por las mediciones astronómicas que los astronautas realizaban en vuelo, con un sextante no muy diferente al utilizado por los navegantes oceánicos. Alineaban la Luna, la Tierra o el Sol con una mira y fijaban la ubicación de una estrella con la otra. El ordenador medía con precisión esos ángulos y recalculaba su posición. En segundo lugar, controlaba los numerosos componentes físicos de la nave espacial. El AGC podía comunicarse con 150 dispositivos diferentes dentro de la nave, una tarea enormemente complicada. «Tiene docenas de propulsores y todo tipo de interfaces y una plataforma de guía y el sextante», dijo O’Brien. «Empiezas a sumar todas estas cosas y dices, Santo cannoli. Esto es realmente capaz».
Conceptualmente, el Laboratorio de Instrumentación del MIT, que diseñó el sistema, lo construyó sobre el trabajo que habían realizado para el sistema de misiles guiados Polaris, hecho para lanzar armas nucleares desde submarinos estadounidenses. El hardware del ordenador Apollo, como ha señalado Mindell, se conocía bastante bien «en el mundo de la aviónica militar»
La construcción del mismo dominó el proyecto al principio: el laboratorio subestimó en gran medida la complejidad de la tarea de ingeniería del software. Durante los años siguientes, hasta bien entrada la década de 1970, los programadores seguían utilizando tarjetas perforadas para codificar. Pero la necesidad de tener a los astronautas del Apolo y a los ingenieros de la NASA «en el bucle», tomando decisiones, requería un tipo diferente de software. Tenía que haber una interfaz. Múltiples operaciones tenían que ejecutarse al mismo tiempo.
Lee: El reloj que llegó a la luna
El enfoque inicial en el hardware encerró lo que O’Brien llamó una «arquitectura primitiva», al tiempo que abrió espacio para que Margaret Hamilton, una mujer en el programa Apolo, fuertemente masculino, dirigiera el diseño del software. Cuando quedó claro que el software era lo que realmente haría la misión, el equipo de Hamilton se amplió a 350 personas en su momento álgido. El sistema que construyeron era notablemente avanzado.
Para maximizar la arquitectura incorporada, Hamilton y sus colegas idearon lo que llamaron «El Intérprete» – ahora lo llamaríamos un esquema de virtualización. Les permitía ejecutar de cinco a siete máquinas virtuales simultáneamente en dos kilobytes de memoria. Era terriblemente lento, pero «ahora tienes todas las capacidades que siempre soñaste, en software», dijo O’Brien.
Los astronautas se comunicaban con el ordenador a través del DSKY, abreviatura de «pantalla y teclado». Introducían números y obtenían respuestas. No es fácil describir el sistema de interfaz de usuario, pero se basaba en una serie de códigos de programa, así como en códigos «verbales» y «sustantivos». Los verbos eran cosas que el ordenador podía hacer («78 UPDATE PRELAUNCH AZIMUTH»). Los sustantivos eran cantidades o medidas numéricas («33 TIEMPO DE ENCENDIDO»). Estaba muy lejos de la simplicidad de apuntar y hacer clic.
La mayor parte de la memoria del sistema había sido tejida, literalmente, en la memoria de la cuerda, pero algunas podían ser escritas, tanto por los astronautas como remotamente desde el Control de la Misión. Quizá la hazaña más brillante de la ingeniería de software fue el programa diseñado por J. Halcombe Laning que priorizaba las tareas de cálculo del sistema.
Esto resultó ser un avance que salvó la misión del Apolo 11. Mientras el módulo lunar descendía, el ruido de uno de sus radares comenzó a introducir datos erróneos en el sistema. El ordenador de guiado comprendió que tenía un problema, pero fue capaz de seguir funcionando durante el descenso, desechando la información errónea y continuando con sus operaciones más importantes, salvando así la misión.
La narración popular de este momento -en su momento y todavía hoy- sostiene que el ordenador tuvo problemas y que Neil Armstrong, tomando el control «manual», pilotó la nave hasta la superficie lunar. Los humanos lo hicieron. Los ordenadores no son rivales para nosotros
Pero el módulo de aterrizaje lunar era un sistema fly-by-wire. Cualquier comando que Armstrong diera tenía que pasar por la computadora. Así que probablemente sea más exacto decir que cuando Armstrong aterrizó en la luna, le dijo a la computadora dónde debía aterrizar. No había ningún control manual utilizable; el verdadero triunfo fue la flexibilidad de la interacción entre el hombre y el ordenador.
Historiadores como Mindell, que ha modelado el descenso segundo a segundo, no dan mucha importancia a la necesidad de las acciones de Armstrong. Todavía necesitaba el ordenador para controlar la nave. «Si se hubiera puesto en marcha el aterrizaje automático, habría descendido de todos modos, con menos alboroto, aunque quizás en medio de un campo de rocas», concluyó Mindell. La historia sobre las proezas humanas era casi una inversión perfecta de la realidad.
Dado todo esto, quizá no sea sorprendente que O’Brien se sienta ofendido por la idea de que un microondas o una calculadora puedan considerarse «tan potentes» como el ordenador del Apolo.
«¿Cómo se define la potencia?» pregunta O’Brien. «Está muy bien decir: ‘Esta máquina es muy potente’. ¿Qué quieres decir con eso?»
Para él, no se trata del número bruto de transistores, sino de que la máquina se adapte a la misión. Capacidad, no potencia. «Teníamos que llegar a la luna, bajar y volver, de forma autónoma. Alcanzaron sus objetivos de ser precisos después de un cuarto de millón de millas, dar en el blanco dentro de 500 a 600 pies y una décima de pie por segundo», dijo O’Brien. «Y uno dice: ‘Mi reloj es más potente’. No, no lo es».
La lección, quizás, es sencilla: Si tu teléfono es mucho más potente que los ordenadores que llevaron a la humanidad a la luna, ¿por qué te pasas el día mirando Instagram? La computación es un medio, no un fin.