Un piccolo passo per l’uomo, ma un grande passo per l’umanità. Una frase che sicuramente avremo sentito migliaia di volte e che ci fa venire in mente la missione che portò la navicella Apollo 11 ad approdare per la prima volta sulla luna. Sembra passata una vita, ed in realtà e proprio così. Basti pensare che questo evento storico a cui presero parte l’astronauta Neil Armstrong e il suo compagno di viaggio Buzz Aldrin risale a 47 anni fa. Con la tecnologia di oggi risulta “facile” pensare di guidare una navicella nello spazio. Ma così non era all’epoca. Non vi potete neanche immaginare quanto lavoro c’è stato dietro alla missione Apollo 11 e, soprattutto, dietro le tante linee di codice sviluppate per gestire il modulo di comando (Comanche055) ed il modulo lunare (Luminary099).
La navicella spaziale era infatti composta da tre parti. Il modulo di comando (l’unica parte che sarebbe rientrata nel nostro pianeta) che era adibita per ospitare gli astronauti, il modulo di servizio che forniva all’equipe tutto il necessario al viaggio ed il modulo lunare per effettuare il famoso allunaggio. Proprio qui si trovava l’Apollo Guidance Computer, che ha avuto un ruolo fondamentale in questa missione e ha permesso ai famosi astronauti di compiere la grande impresa.
Il vasto codice sorgente che ha permesso tutto ciò è stato inizialmente reso visibile grazie a Google per un breve periodo. Successivamente, però, l’ex stagista della NASA Chris Garry, lo ha poi reso nuovamente pubblico sulla piattaforma GitHub. Il lavoro di trascrizione ed adattamento delle linee di codice è stato reso possibile grazie al MIT Museum. Un organismo di rilievo rispetto alla storia che c’è dietro all’immenso programma gestito dal Colossus A2 presente quel 20 Luglio 1969 sulla navicella spaziale.
Quando i programmatori del MIT Instrumentation Laboratory hanno iniziato a sviluppare il software di volo per il programma spaziale Apollo 11 (a metà degli anni ’60) la tecnologia necessaria non esisteva. Nonostante ciò, quello di cui parliamo oggi è stato possibile creando un nuovo metodo di archiviazione dei dati sull’elaboratore ed una versione modificata del famoso linguaggio di programmazione Assembly. Questo linguaggio, tuttora, è decisamente trascurato dai programmatori in quanto è molto difficile da intendere e sviluppare. Il suo pregio, però, è quello di essere decisamente comprensibile da un computer, il quale riesce a tradurre il codice scritto in questo linguaggio molto velocemente rispetto agli attuali codici, anche se di più alto livello.
Dalla repository messa a disposizione su GitHub, si scoprono alcune curiosità, anche molto divertenti. Per esempio, alla linea di codice 666 compare la dicitura “numero misterioso” che fa riferimento al classico “burn, baby, burn” di quegli anni. Umorismo vi è anche da parte degli utenti della piattaforma che possono modificare a piacimento il codice sorgente aggiungendo dei miglioramenti o, semplicemente, frasi divertenti inerenti alla missione Apollo 11.
Fonte
- Online il codice di volo della missione Apollo 11