Con la pubblicazione del numero 17 di Commodore, nel 1987 furono presentate ai lettori e agli appassionati le Routine Grafiche di Toma, pensate per chi avesse voluto disegnare immagini facilmente, programmando in BASIC. Ricordiamo che il BASIC del Commodore 64, a differenza di quello più avanzato relativo al 128, è sprovvisto di comandi specificatamente dedicati a disegnare comodamente in alta risoluzione. Danilo Toma ebbe l'intuizione di ovviare al problema sviluppando un programma in linguaggio macchina, compatto e veloce, che aggiungesse una manciata di istruzioni in più al BASIC, utili soprattutto per disegnare grafici hires. A distanza di 24 anni siamo riusciti a metterci in contatto con Danilo per conoscere la sua esperienza di programmatore negli anni d'oro del C64.
Ecco cosa ci ha raccontato...
Ero uno studente universitario (di economia) quando iniziai a interessarmi di informatica. Erano i primi anni ottanta e non ricordo esattamente quale fu la scintilla che fece accendere in me la passione per la programmazione. Probabilmente l’argomento era di moda e con i miei amici, tra cui uno studente di ingegneria elettronica e un programmatore, ne parlammo parecchio. Quando ero più piccolo ero appassionato delle costruzioni coi mattoncini LEGO e la creazione di un programma, per me, assomiglia molto a questo gioco, quindi programmare è quasi stata un’evoluzione di questa attività ludica.
Ricordo il vagabondare nelle librerie, alla ricerca dei rari testi introduttivi sull’argomento "personal computer"... e poi la decisione, insieme ad altri due amici, di comprare un Commodore Vic 20. Imparai cos’è un diagramma di flusso e a organizzare il mio pensiero secondo la logica del linguaggio BASIC: mi riusciva molto naturale. In quel periodo stavo studiando per l’esame di analisi matematica e provai a mettere in pratica le mie conoscenze per realizzare un programma che disegnasse le funzioni matematiche. Graficamente era molto rozzo: sfruttava dei caratteri di testo (trattini orizzontali collocati a diverse altezze all’interno della matrice del carattere) per disegnare le curve. Primitivo certo, ma funzionava!
Come tutti i ragazzi divorati dal fuoco della passione informatica, in quel periodo, compravo tutte le riviste dedicate ai computer e così venni a sapere dell’uscita del nuovo Commodore 64, che prometteva meraviglie, rispetto al Vic 20. Spesi quasi tutti i miei risparmi delle paghette per procurarmene uno, ma non me ne sono mai pentito (anche se la mia ragazza di allora, diventata poi mia moglie, non è dello stesso parere, visto il tempo che gli dedicai, a scapito degli studi universitari).
Dal BASIC al Linguaggio Macchina il passo fu breve. La velocità fulminea con cui venivano eseguiti i programmi in LM mi entusiasmava. Comprai un poderoso manuale edito dalla Jackson sulla programmazione del microprocessore 6502 (il cervello del C64) e sperimentai le prime semplici routine. Iniziai subito a familiarizzare con gli “sprite” ed elaborai un programma per crearli. Mi sembrava utile e divertente, così pensai di farlo pubblicare su qualche rivista e decisi di sottoporlo al vaglio della redazione di Commodore Computer Club, una rivista che era appena nata e rivolta specificatamente agli appassionati di computer Commodore. A quei tempi non esistevano email e allegati di posta elettronica, ma solo Poste Italiane, con i suoi tempi biblici. Quindi, quando iniziai a convincermi che il mio programma fosse stato rifiutato e cestinato dalla redazione, lo vidi pubblicato sulle pagine della rivista, ma senza il mio nome! Allora telefonai alla redazione agitatissimo ed eccitato, parlai con Alessandro De Simone, il redattore capo, il quale mi spiegò che la lettera che accompagnava il programma era stata persa e io nel listato non avevo inserito i miei dati. Mi elogiò per il lavoro svolto e mi incoraggiò a proseguire.
Non aspettavo altro: spinto dal desiderio di sfruttare le potenzialità grafiche del C64 avevo già imbastito la pirma versione delle routine grafiche e gliela proposi. Questa volta furono pubblicate col mio nome in calce, così potei dimostrare alla mia fidanzata che non stavo sprecando il mio tempo! La seconda versione delle routine, più raffinata, seguì dopo pochi mesi, grazie alle maggiori conoscenze che avevo acquisito riguardo la macchina, anche con le scoperte degli altri ragazzi che collaboravano con CCC, e alla voglia di creare squalcosa di veramente originale. Al liceo avevo appreso le regole dei disegni tecnici in prosepttiva e mi venne l'idea di applicarle alle mie routine. Nessuno aveva ancora pensato a una simile possibilità e la sfida mi affascinava. Quando fui pronto e mi recai presso la redazione per presentarle con delle demo, De Simone chiamo subito anche il direttore, Michele Di Pisa. Entrambi non riuscivano a credere che le immagini si formassero in tempo reale sotto i loro occhi a una velocità sorprendente (se non ricordo male credo si trattasse del demo "cubo nello spazio") e che potessero essere frutto di poche, semplici e flessibili istruzioni invece che di un elaborato e rigido programma.
Fu un grande successo ma anche un notevole stress, devo ammettere: i lettori mi telefonavano anche a notte fonda per farmi domande e chiedermi spiegazioni tecniche! Ricevetti anche delle proposte di collaborazione con altre riviste di informatica, ma rifiutai: dovevo pensare agli studi universitari e quindi ero costretto a limitare il tempo da dedicare al mio C64. Poiché l'aspetto che mi interessava maggiormente era quello della grafica, proseguii con la realizzazione di programmi di utilità, come l’hard copy della pagina grafica, o didattici, dietro l'ispirazione di Alessandro De Simone, che teneva molto a sensibilizzare il ruolo educativo dell’informatica. Il “braccio robot” era un esempio pratico delle nozioni apprese a scuola: utilizzando le regole che permettono d’individuare i punti d’intersezione di due circonferenze, il programma permetteva al “braccio robot” di afferrare un oggetto visualizzato sullo schermo, traducendo le coodinate nello spazio. Ma il programma che più mi piace ricordare è quello che disegna le curve di Peano. Non ho idea di chi sia stato Peano ma lessi su una rivista a proposito dei meravigliosi “merletti” matematici, che il BASIC non poteva riprodurre per via dei noti limiti insiti nel linguaggio. Non potevo accettare che il mio amato BASIC fosse offeso in quel modo e ideai un algoritmo in grado di disegnare queste curve.
Tra i programmi realizzati a quei tempi, una citazione speciale merita il linguaggio E.LI.ANA., un interprete simile al LOGO, creato per rendere accessibile la programmazione del C64 anche ai più piccoli. L’acronimo, che sta per Elementare LInguaggio ANAlogico, deriva dal nome della mia ragazza (e ora moglie) che, guarda caso, è maestra. Un po’ di romanticismo non guasta mai e poi dovevo farmi perdonare per tutte quelle serate passate al computer anziché in sua compagnia.
Di quel fantastico periodo ricordo con nostalgia le “incursioni” in redazione, in un’atmosfera familiare dove trovavo Eugenio Coppari, Michele Maggi e gli altri ragazzi che collaboravano alla rivista. Ogni mese che passava si aggiungeva qualche nuovo volto, sempre più giovane (o forse ero io che cominciavo ainvecchiare). Ma notai, con un po' di rammarico, che col passare del tempo l’atteggiamento dei nuovi cominciava a cambiare, diventando più attento al tornaconto che alla gloria.
Dopo aver conseguito il titolo di laurea la mia vita cambiò radicalmente: prima il matrimonio, poi il trasferimento a Bergamo (un’oasi di pace in confronto col caos dei quartieri in cui abitavo a Milano), poi ancora il lavoro, furono fattori che mi allontanarono dal mondo del C64. Per alcuni mesi lavorai nel reparto EDP di un'azienda di medie dimensioni dove si utilizzava una piattaforma Unix. Imparai a programmare in Cobol e mi occupai di sistemare i programmi gestionali interni. L’azienda aveva anche acquistato Uniplex, un pacchetto integrato (simile all’attuale Office) e smanettando scoprii delle opzioni che neppure la software house distributrice del sistema conosceva, tanto che mi chiesero di lavorare per loro. Peccato che fosse in provincia di Treviso. Poi ricevetti un’offerta come controller (ruolo pertinente con i miei studi universitari) a Bergamo e da allora il mio lavoro è rimasto quello. Le conoscenze e la pratica derivanti dall’esperienza con il C64 mi sono servite molto anche in questo ambito. La parte più interessante del lavoro è infatti costituita dalla costruzione e gestione di modelli di simulazione della realtà produttiva che consentono di elaborare i budget aziendali. Principalmente si lavora con i fogli elettronici su PC (Excel, per intenderci) o in rete aziendale ed extraaziendale.
A proposito... ho notato la fotografia della redazione nell'intervista a Michele Di Pisa. Il primo da sinistra sono io ma nella didascalia, accanto al mio nome, c'è un punto interrogativo: non eravate certi che fossi io? Ciao!
Ebbene sì, lo ammettiamo, caro Danilo... nel dubbio abbiamo preferito lasciare un punto interrogativo, certi che prima o poi si sarebbe presentata l'occasione per rimuoverlo con assoluta certezza... E così è stato!
Ringraziamo Danilo Toma per averci raccontato la genesi della sua passione per l'informatica, e di come si sia concretizzata in un programma utile e interessante dal punto di vista didattico e, perché no, anche scientifico. Infatti non è mistero che alcuni programmatori abbiano implementato le Routine di Toma per creare le illustrazioni, proprio come ha fatto Nemo Galletti nel suo programma Halley.