Lingue disponibili:

Il BASIC e l’architettura che abbiamo perso

Questo post è stato originariamente scritto in inglese. La traduzione potrebbe non riflettere il 100% delle idee originali dell'autore.

Probabilmente avrai camminato davanti a un edificio brutalista senza conoscerne il nome dello stile. Sono quelle costruzioni in cemento a vista, non intonacate, dove si vedono le impronte delle casseforme usate per il getto. Struttura esposta. Tubature a vista. Per molto tempo, i computer erano così.

Negli anni ‘80, quando accendevi un microcomputer (MSX, Apple II, o il mio preferito personale, il TK90x/ZX Spectrum), non c’era un desktop. Non c’erano icone di cartelle che simulavano un ufficio. Non c’era alcuna metafora. Ciò che appariva era un cursore lampeggiante, in attesa. La macchina ti guardava e chiedeva: “Qual è il piano per oggi, capo?”

E la lingua di questa conversazione era solitamente il BASIC.

Basic

Il BASIC (Beginner’s All-purpose Symbolic Instruction Code) non era solo un linguaggio, era il sistema operativo e l’interfaccia utente fusi in un’unica cosa. Oggi viviamo in case prefabbricate con pareti in cartongesso (Windows, macOS, iOS). Tutto è liscio, dipinto con toni pastello, sicuro e, soprattutto, nasconde il funzionamento interno. I cavi elettrici e gli impianti idraulici sono considerati “brutti” e pericolosi, nascosti dietro strati di astrazione grafica.

Il BASIC era puro brutalismo.

Quando digitavi 10 PRINT "HELLO WORLD!", non stavi chiedendo il permesso a un window manager, che avrebbe passato la richiesta a un kernel, che avrebbe schedulato il task sulla GPU. Stavi gettando cemento fresco sulla struttura. La relazione era tattile. Il numero di riga (10, 20, 30) non era solo un’organizzazione sintattica, era un indirizzo spaziale nella logica del programma. Il comando GOTO, oggi demonizzato dall’informatica come creatore di “spaghetti code”, era in realtà un corridoio esposto. Ti permetteva di vedere, e decidere, esattamente dove stava andando il flusso di esecuzione, senza la cortesia di funzioni incapsulate o orientamento agli oggetti.

Ma la vera e onesta brutalità del BASIC risiedeva in due comandi specifici: PEEK e POKE. Se il BASIC è l’architettura esposta, POKE era un mazza da demolizione. Permetteva a un bambino di 10 anni di scrivere un valore direttamente in un indirizzo fisico di memoria del computer. Nessun sandboxing, nessuna “modalità protetta”, nessun “permesso di amministratore”.

Vuoi cambiare il colore del bordo sul tuo TK90x? Non cercavi un menu “Impostazioni”. Andavi sul manuale, trovavi l’indirizzo di memoria che controllava il chip video, ed eseguivi un POKE proprio lì. Stavi alterando la realtà della macchina a mano. Era possibile bloccare il computer irrimediabilmente? Sì. Era possibile far emettere alla macchina uno stridio orribile e farla riavviare? Decisamente. Ma la casa era tua. Se volevi abbattere un muro portante, il BASIC ti passava la mazza e si toglieva di mezzo.

Questa architettura ha formato una generazione che capiva che il computer non è magia, è una macchina a stati finiti manipolabile. Scambiando il BASIC con interfacce grafiche amichevoli, abbiamo guadagnato produttività ed estetica, ma abbiamo perso l’alfabetizzazione strutturale. Oggi siamo inquilini nei nostri stessi dispositivi. L’architettura moderna è progettata per impedirci di vedere il cemento. Il “Syntax Error” è stato sostituito da “Qualcosa è andato storto :(”. L’onesta crudezza dell’errore logico è stata sostituita dalla gentilezza condiscendente di un sistema che pensa che tu non possa gestire la verità.

Forse non abbiamo bisogno di tornare a digitare numeri di riga o a combattere con la memoria limitata. Ma c’è qualcosa nella filosofia del BASIC, l’idea che lo strumento debba essere trasparente e che l’utente debba avere sovranità totale, anche per fare errori, che manca dolorosamente nella nostra comunità digitale recintata.

A volte, è salutare vedere il cemento e le tubature esposte, solo per ricordare che l’edificio poggia su fisica e logica, non sulla magia.