El código fuente que llevó al hombre a la Luna (y dónde descargarlo)

La NASA envía el Apollo 11 a la Luna
Cuando los programadores del laboratorio de instrumentación del MIT se dispusieron a desarrollar el software de vuelo para el programa espacial Apollo 11 —a mediados de los años sesenta del siglo pasado—, la tecnología necesaria no existía, por lo que tuvieron que inventarla. Así pues, se les ocurrió una nueva manera de almacenar programas informáticos en dispositivos ROM, a la que llamaron «memoria de núcleos cableados«, y que era un paso siguiente a la memoria ordinaria de núcleos magnéticos de ferrita del momento.
También, tuvieron que inventar una versión especial del lenguaje ensamblador que llevaba en su interior miles de líneas de código; y todo ello para el computador Apollo Guidance Computer (AGC), el alma de la misión, esencial para la navegación del módulo de mando y, también, del módulo lunar; y uno de los primeros ordenadores basados circuito integrados.
En la siguiente imagen podemos ver a Margaret Hamilton, directora de ingeniería de software del proyecto, mostrando la montaña de listados de código que conformaban los archivos fuente de las distintas aplicaciones.

Margaret Hamilton
El código del AGC ha estado disponible para el público general desde hace bastante tiempo, concretamente desde el año 2003, cuando el investigador en tecnología Ron Burkey se preocupó de colgarlo en Internet después de haber transcrito (mecanografiado), a mano, una a una las líneas que aparecían en las imágenes escaneadas de las copias impresas originales del MIT. Aquellas copias fueron digitalizadas originalmente —en Colorado— por un piloto aeronáutico llamado Gary Neff. Posteriormente, el MIT se hizo con aquellos documentos y los puso en línea en forma de imágenes de página, pero la falta de fortuna quiso que muchas de ellas quedaran mutiladas al punto de ser ilegibles en algunos lugares de las fotografías. Burkey reconstruyó manualmente las partes que se podían rescatar, utilizando sus habilidades en ingeniería para rellenar los huecos en blanco. Algo después, consiguió reunirse con Gary Neff y logró hacerse con los escaneos originales, completando el paquete de documentos al cien por cien.
Aunque esta documentación de tan enorme proyecto ha estado un poco escondida y confinada a reductos universitarios, a mediados del año 2016, el extrabajor de la NASA Chris Garry comenzó a colgar completamente en GitHub la totalidad de los archivos fuente del software espacial. Estos archivos se han ido actualizando hasta hace un par de meses, y podemos asegurar que la integridad del proyecto está hoy a la disponibilidad del total de los internautas que deseen consultarlo.
Una de las cosas que más ha llamado la atención de este código fuente es la ristra de comentarios humorísticos que acompañan al código del ACG a modo de chistes, mensajes y referencias locales a los sesenta estadounidenses. Un buen ejemplo se corresponde con los comentarios iniciales del archivo llamado BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.agc
(imagen siguiente).
O el fichero denominado LUNAR_LANDING_GUIDANCE_EQUATIONS.agc
, en el que parece que dos líneas de código destinadas a ser temporales acabaron siendo permanentes, en contra de las esperanzas de un desolado programador.
Todo un ejemplo de ingeniería e ingenio de los primeros programadores espaciales. Ron Burkey, incluso, utilizó el código para crear un simulador del ACG. Podemos, pues, y para terminar, verlo y disfrutarlo en el siguiente vídeo.
Interesante artículo, a la espera del siguiente.
Como curiosidad, Margaret Hamilton creó el término «Ingeniería de software», título de una asignatura de Ingeniería de Informática.
Aw, this was an extremely nice post. Taking a few minutes and actual effort to make a superb article… but what can I say
Agen Togel
Artikel Yang anda buat Sangat Cukup Bagus dan Menarik Untuk di Baca Mungkin Akan Lebih Banyak dari orang Yang Menggunjung Tempat anda karena Artikel Yang anda Buat Sangat Menarik dan Bagus.
Agen Togel Online Terpercaya
Luar biasa newsnya semoga segera menyusul.
bandar kiu
this article very interesting for me. please share this Bandar Togel
This is my first visit to your blog! We are a team of volunteers and starting a new initiative in a community in the same niche. Your blog provided us beneficial information to work on. Agen Togel You have done a outstanding job
Thanks for providing this post! To become a leader in the market
Amazing article thanks for sharing..Bandar Online