apollo11_github

El codigo que llevo al Apolo 11 a la luna ahora disponible en GitHub!

Alrededor de los años 1960, los programadores del laboratorio de instrumentación del MIT recibieron el encargo de programar el software de vuelo para el Apollo 11; Sin embargo, la tecnología para hacerlo no existia, asi que tuvieron que crearla.

 

El lenguaje utilizado fue una adaptación especial  del lenguaje ensamblador, ese mismo lenguaje que ahora es muy enigmático para muchos de los programadores, difícil de leer para los humanos, fácilmente entendible para  las computadoras.

 

Se escribieron miles y miles de líneas en lenguaje de bajo nivel que dio como resultado el AGC o Apollo Guidance Computer, La mejor forma de entender la complejidad del AGC se presenta en la siguiente imagen, donde se aprecia a Margaret Hamilton, directora de ingeniería de software del proyecto ,  la recopilación con todas las líneas de código junto a ella:

 

 

Aunque anteriormente parte del código del AGC ha estado disponible para el público, el MIT había publicado los scans en formato de imágenes y solo por secciones, donde algunas de ellas no eran muy legibles y hacía difícil su lectura. Sin embargo en el 2003, un investigador llamado Ron Burkey comenzó con la tarea de transcribir manualmente las fotocopias en texto, y así leer el codigo con mayor facilidad. Para terminar esta tarea con éxito, contó con el trabajo de Gary Neff, quien tenía acceso a los documentos y los escaneo para  subirlos a internet; De esta forma, Ron Burkey con sus conocimientos técnicos se encargó de completar las partes ilegibles y utilizó los scans de Neff para comprobar que todo estuviera correcto.

 

Después del enorme y exitoso trabajo de Ron Burkey para preservar el código del Apollo 11, este aún no había llegado a la mayoría de programadores y el mundo. Pero esto cambió el pasado Martes, 7 de Julio, cuando un ex trabajador de la NASA subió todo el código entero a GitHub. La red más grande de codigo del mundo, poniéndolo a disposición de todos

 

Tan solo unos minutos después de la subida, muchos programadores han hecho pull del codigo fuente para estudiarlo, y curiosamente mucho del enfoque se ha centrado en los comentarios del equipo del AGC, esto con el objetivo de entender la lógica del software; y algo que ha llamado mucho la atención es el buen sentido del humor que los programadores tenían y dejaron plasmado en su trabajo.
 Por ejemplo, uno de los fuentes se llama BURN_BABY_BURN--MASTER_IGNITION_ROUTINE, y en los comentarios del codigo se explica porque.

 

 (Fragmento de una canción usada para la inspiración de programación del Apollo11)

 

Ahora que el codigo se encuentra en GitHub, los programadores podemos sugerir cambios y analizarlo juntos, o en su caso, contagiarse de la buena energía de los programadores del AGC! Además recordando que el Apollo 11 fue la misión que puso a los humanos en la Luna!.

 

 

Comments

comments

Leave a Comment

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