cat basic-come-haiku.md
N°002Microcomputer cultureBASIC
BASIC come haiku
Il vincolo come forma poetica nell'era dei microcomputer
Sul Commodore 64 il BASIC era ambiente, linguaggio e rito d'accesso. Questo articolo lo interpreta come una forma breve: non perché fosse semplice, ma perché imponeva al programmatore una metrica fatta di numeri di riga, abbreviazioni, memoria contata e cicli di prova immediati.
- Anno
- 1982
- Era
- 1980-1989
- Linguaggio
- BASIC
- Reperto
- ~64 byte
Quando il prompt era una stanza
Per molti utenti dei primi anni Ottanta, programmare non significava aprire un IDE. Significava accendere una macchina e trovarsi già dentro un linguaggio. Il Commodore 64 non presentava il BASIC come un'applicazione separata: lo offriva come condizione iniziale. Il prompt era insieme invito, manuale incompleto e superficie di gioco.
Questa immediatezza ha formato un tipo particolare di immaginazione. Non si partiva da un progetto, ma da una riga. La riga diventava due, poi dieci, poi cento. I numeri non erano solo indirizzi: erano una metrica. Lasciare spazio tra 10 e 20 significava prevedere il futuro del programma, accettare che l'idea sarebbe cambiata e che serviva una piccola riserva di ordine.
La grammatica del poco
Il BASIC del C64 viveva in una macchina con memoria preziosa e con un rapporto molto diretto tra testo digitato e comportamento. Le istruzioni dovevano essere capite dal principiante, ma il programma vero richiedeva presto scorciatoie, compattazioni e trucchi. Il manuale stesso parla di accorciare i programmi per far entrare più istruzioni e lasciare più spazio ai dati.
Da qui nasce il paragone con l'haiku. Non perché ogni programma BASIC fosse elegante, anzi: moltissimi erano disordinati, pieni di salti e ripetizioni. Ma il vincolo costringeva a una forma. Le righe avevano peso. Ogni carattere poteva contare. Una variabile a una lettera non era pigrizia: era economia materiale.
INPUT, GET e il corpo dell'utente
Nei listati per microcomputer l'utente è sempre vicino. `INPUT` sospende il programma e aspetta una frase. `GET` osserva la tastiera quasi carattere per carattere. Il manuale del C64 spiega che `GET` permette più flessibilità quando si vogliono gestire errori o costruire piccole forme di editing. Questa è una differenza culturale enorme: il programma non è una procedura lontana, è una conversazione con qualcuno seduto davanti allo schermo.
Anche la latenza diventa parte del linguaggio. Cicli di attesa, lampeggi, colori cambiati con `POKE`, suoni costruiti scrivendo registri: tutto ciò mescola programma e percezione. Il BASIC insegna che il codice non è solo calcolo; è coreografia di un dispositivo limitato.
GOTO come enjambement e come pericolo
`GOTO` è l'elemento più controverso di questo mondo. In BASIC è onnipresente, spesso necessario, qualche volta abusato. Se lo leggiamo con gli occhi della programmazione strutturata, vediamo subito il rischio: controllo disperso, logica difficile da seguire, manutenzione fragile. Ma nel piccolo spazio del microcomputer `GOTO` è anche un taglio di montaggio.
Il problema non è assolverlo. È capire perché tanti programmatori hanno imparato proprio così: saltando, tornando indietro, infilando una nuova riga tra due numeri lasciati liberi. Il BASIC domestico era una scuola imperfetta, ma potentissima. Insegnava il rapporto tra causa ed effetto prima ancora di insegnare l'architettura.
L'eredità nascosta
Oggi nessuno proporrebbe il BASIC del C64 come modello generale di progettazione software. Ma come primo ambiente di pensiero aveva una qualità che molti strumenti moderni hanno perso: feedback immediato, nessuna distanza tra scrivere e provare, nessuna infrastruttura da configurare prima di sentire che il computer risponde.
La sua eredità non è sintattica. È pedagogica. Ci ricorda che imparare a programmare significa anche costruire un rapporto emotivo con una macchina. Il vincolo, quando è visibile, può diventare forma. E una riga numerata, anche poverissima, può essere l'inizio di un mondo.
Punti chiave
- Il BASIC domestico era spesso l'ambiente iniziale della macchina, non un programma separato.
- Numeri di riga e memoria limitata producevano una metrica concreta del codice.
- `GET` e `INPUT` mostrano un rapporto diretto tra programma e utente.
- Il valore storico del BASIC è soprattutto pedagogico e culturale.