Su GitHub il codice che ci ha portati sulla luna

By Marco Ludovico Ludergnani

Code-moon-1

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. Hanno dovuto inventarla.
Gli sviluppatori hanno ideato un nuovo modo di archiviare i programmi per l’elaboratore, chiamato “rope memory”, e hanno creato una versione speciale del linguaggio di programmazione Assembly. L’Assembly, ai giorni nostri, è sconosciuto a molti programmatori, essendo molto difficile da leggere. Assembly è facilmente comprensibile ai computer, ma non agli esseri umani. Per l’Apollo Guidance Computer (AGC), i programmatori del MIT hanno dovuto scrivere migliaia di righe in questo linguaggio.
Questa è un’immagine degli anni ’60 che esplicita quanto codice è stato scritto. Margaret Hamilton, direttrice dell’ingegneria del software del progetto, in piedi a fianco del codice cartaceo
Il codice dell’AGC è stato a disposizione del pubblico per un po ‘di tempo. Fu caricato per la prima volta dal tecnico ricercatore Ron Burkey nel 2003. Burkey ha trascritto il codice direttamente dalle immagini scannerizzate delle copie cartacee originali, messe online dal MIT.
Ha digitato manualmente ogni linea, una ad una.
Lo sforzo rese il codice a disposizione di qualsiasi ricercatore o hobbista che volesse studiarlo. Burkey stesso ha utilizzato il software per creare una simulazione del AGC:
Pur essendo stato il progetto di Burkey un grande successo, il codice è rimasto un po’ oscuro a molti sviluppatori. Questo fino allo scorso Giovedì (7 luglio), quando l’ex stagista della NASA Chris Garry ha caricato il software nella sua interezza su GitHub, il sito di code-sharing dove milioni di programmatori possono accedere ai files liberamente.
In poche ore, i programmatori hanno iniziato a dissezionare il software, guardando con particolare interesse i commenti che i programmatori originali dell’AGC avevano scritto. In programmazione, i commenti sono descrizioni che esplicitano che lavoro viene svolto dal programma in un certo punto.
La maggior parte dei commenti del codice va al di là della noiosa spiegazione del programma. Sono infatti caratterizzati da battute, messaggi e riferimenti ai costumi dell’epoca.
Per esempio uno dei file del codice sorgente è chiamato BURN_BABY_BURN--MASTER_IGNITION_ROUTINE, e il commento iniziale spiega il perchè:moon-code-4
O anche nel file chiamato LUNAR_LANDING_GUIDANCE_EQUATIONS.s, dove si vedono due linee di codice pensate per rimanere temporanee, ma che hanno finito per essere permanenti, contro le speranze del programmatore:moon-code-3
E nel filePINBALL_GAME_BUTTONS_AND_LIGHTS.s, compare una peculiare citazione di Shakespeare:moon-code-2
Questa è una plausibile riferimento al linguaggio di programmazione dell’AGC stesso, come un utente Reddit ha messo in chiaro. Il linguaggio usa predeterminati “nomi” e “verbi” per eseguire le operazioni. Il verbo 37, per esempio, significa “Esegui programma“, mentre il sostantivo 33 significa “Tempo di accensione”.
Ora che il codice è su GitHub, i programmatori possono suggerire cambiamenti e segnalare problemi nei files. E, ovviamente, hanno già iniziato. Se siete curiosi, vi consigliamo di andare a leggere i vari commenti lasciati nel link relativo al codice su GitHub.
Per molti, questa divulgazione è stata un bel viaggio nel tempo.

L’articolo Su GitHub il codice che ci ha portati sulla luna sembra essere il primo su Lffl.org.

Visited 1 times, 1 visit(s) today
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.