Il gw-basic, l’algoritmo, la relatività e … buonanotte

Il gw-basic, l’algoritmo, la relatività e … buonanotte

di Fabio Guarna

Dall’ora del post, il lettore potrà osservare che stanotte sono andato a letto tardi. Perchè ? Non so quanto possa interessare a chi scorre queste righe, ma mi scappa la penna (o forse sarebbe meglio dire il tasto) e provo a rispondere d’un fiato. Quando ero adolescente i miei mi regalarono un computer, non era il classico Commodore 64 adatto per i primi videogames, ma scelsero un computer Olivetti (un portatile M10). Nonostante i pochissimi programmi in circolazione e il rischio che restasse inutilizzato, quel computer mi piacque. Dovevo farlo funzionare e come si è soliti dire, feci della necessità, virtù. Aprii il manuale dell’utente del gw-basic (un dialetto del basic), il linguaggio di programmazione usato dall’ M10 e da autodidatta imparai a programmare. Studente del ginnasio, senza avere mai sentito parlare di algoritmi, riuscii a mettere su diversi programmi: banali e impegnativi. Dai giochini semplici come colpire un bersaglio, con una grafica fatta di lettere, asterischi e segni grafici di una tastiera che (udite udite) era qzerty e non qwerty, ad un programma di archiviazione fatto su richiesta per stampare gli indirizzi da inserire sulle spedizioni di un giornale locale in abbonamento, etc.. Per la parte grafica ricordo ancora che mi faceva penare la mancanza di un comando per disegnare un cerchio (il gw-basic non aveva il circle del basic) e l’unica soluzione era di disegnarlo punto per punto (pixel per pixel) utilizzando le funzioni seno (sin) e coseno (cos). Erano gli anni ’80 ed oggi nella scuola si parla di didattica per competenze. Credo di essere stato un antesignano da autodidatta: non conoscevo tante definizioni ma le competenze per programmare non mi mancavano ! Se ci fossimo trovati ai tempi d’oggi (erano gli anni ’80), forse qualcuno mi avrebbe chiesto di fondare una start up !
Stanotte, girando per la rete, casualmente mi sono imbattuto in un emulatore del gw-basic. Fatto il download sono tornato dopo decenni a programmare. Ricordo ancora tanti comandi ed essendo una delle vittime dell’algoritmo del MIUR, ho provato in quel linguaggio primitivo a programmare la gestione di un piano di assunzioni, simile a quella effettuata dal MIUR. Con la funzione randomize ho creato degli archivi casuali contenenti stringhe associate ad un numero (il punteggio) e quindi ho provato a generare i posti da assegnare distinguendo 4 aree territoriali. Il programma, aiutato probabilmente dal fatto di gestire pochi dati, ha funzionato perfettamente. Non ho visto alcun bug osservando i risultati e dopo avere dato una lettura col comando “list” del lavoro fatto, in piena autocelebrazione prima di fermarmi mi sono detto “ah se avessero avuto uno come me al MIUR… !!”. Quindi ho dato uno sguardo all’orologio. Si era fatto davvero tardi. Un giorno – si racconta – che Einstein per spiegare la relatività disse : “Quando un uomo siede un’ora in compagnia di una bella ragazza, sembra sia passato un minuto. Ma fatelo sedere su una stufa per un minuto e gli sembrerà più lungo di qualsiasi ora”. Non sono stato in compagnia di una bella ragazza, ma il ritorno al BASIC ha sortito lo stesso effetto.

Fabio Guarna