Què se celebra aquests dies: 57 anys d'"un petit pas"
Cada 20 de juliol es recorda el primer allunatge tripulat. Neil Armstrong i Buzz Aldrin van descendir pilotant en part a mà i en part amb l'ajuda de l'Apollo Guidance Computer (AGC), l'ordinador de bord dissenyat al MIT. En plena maniobra, a poc més de 1.800 metres de la superfície, la pantalla va començar a llançar alarmes 1202: l'ordinador avisava que tenia més tasques de les que podia atendre. Tot i així, la missió va continuar i van aterrar amb el dipòsit gairebé buit.
Les dades tècniques de l'AGC estan documentades per la mateixa agència espacial: les pots consultar al NASA Apollo Flight Journal. El que ens interessa no és l'efemèride, sinó el que aquell aparell ensenya sobre com funciona un ordinador per dins.
4 KB de RAM: què volen dir aquests números
L'AGC tenia dos tipus de memòria, igual que qualsevol ordinador d'avui. La memòria esborrable (la RAM, on es fan els càlculs del moment) eren 2.048 "paraules", i la memòria fixa (una mena de disc dur amb el programa ja gravat) eren 36.864 "paraules". Cada paraula guardava 16 bits, així que 2.048 paraules equivalen a uns 4 KB i 36.864 a uns 72 KB. En total, l'ordinador que va portar tres persones a la Lluna cabia de sobres en el que avui és un arxiu de text.
Perquè es vegi el salt, compara-ho amb un mòbil qualsevol de 2026:
| Element | Apollo Guidance Computer (1969) | Un mòbil actual |
|---|---|---|
| Memòria de treball (RAM) | 2.048 paraules (~4 KB) | 6.000-12.000 MB |
| Memòria fixa (programa) | 36.864 paraules (~72 KB) | 128.000-512.000 MB |
| Velocitat del processador | ~1 MHz | ~3.000 MHz |
La diferència és de milions de vegades. Un mòbil actual té més d'un milió de vegades la memòria de treball de l'AGC. I tanmateix, aquell ordinador va fer una cosa que moltes aplicacions modernes no aconsegueixen: no es va penjar en el pitjor moment possible.
El truc no era la potència, era el programari
Aquí entra la part que avui s'estudia en qualsevol grau d'informàtica. L'enginyera Margaret Hamilton i el seu equip del MIT van dissenyar el programa amb un planificador per prioritats: en lloc d'intentar fer-ho tot alhora i bloquejar-se, el sistema classificava les tasques per importància. Quan l'alarma 1202 va saltar —un radar mal configurat estava inundant de dades l'ordinador—, el programari va fer el correcte: va descartar les tasques menys importants i va seguir calculant l'únic que de debò no podia fallar, la trajectòria de descens. Els detalls d'aquestes alarmes són al Apollo Lunar Surface Journal de la NASA.
Aquest és el cor de la programació ben feta, i la lliçó val per a qualsevol que comenci a programar:
- Gestió de recursos: un programa que se satura no ha de morir per força; pot decidir què deixar anar. Això és disseny, no potència.
- Prioritats explícites: dir què és crític i què és prescindible és una decisió d'arquitectura, no un detall menor.
- Robustesa davant errors: el programari es va provar per comportar-se bé fins i tot quan el maquinari donava dades errònies.
- Eficiència: amb 4 KB no sobra ni un byte, així que cada línia de codi s'havia de guanyar el lloc.
Com s'estudia això avui (i quan va bé un professor)
El que va fer Hamilton avui es diu concurrència i gestió de processos, i és un pilar d'assignatures com Sistemes Operatius o Estructura de Computadors a la universitat i als cicles d'FP d'informàtica. També ho toques abans del que et penses: així que aprens a programar entens què és la memòria, per què un bucle mal fet l'esgota i per què el codi eficient importa. No cal anar a la Lluna per topar amb aquests conceptes: qualsevol exercici de programació t'obliga a pensar-los.
El problema és que molts alumnes s'encallen aquí perquè ningú els ho explica amb un exemple concret: memoritzen la teoria de processos sense veure mai per què existeix. Aquí és on un professor particular marca la diferència: t'acompanya amb casos reals, et corregeix el codi i t'ensenya a pensar com qui resol problemes, no com qui empolla. Si vas amb Programació o Estructura de Computadors, a Eurekademy pots començar amb una primera classe de programació amb 50% de descompte, sense compromís. La mateixa idea que va salvar l'allunatge —prioritzar bé i no rendir-se quan el sistema se satura— és la que et farà tirar endavant l'assignatura.