Il primo contatto con un home-computer fu con la tastiera di un Sinclair ZX81, alle medie... Certo, BASIC è stato il mio primo linguaggio di programmazione che ho continuato ad usare per anni; all'università, con soddisfazione sfruttavo ancora un programmino per tracciare a video il grafico di una funzione qualsiasi.
Avevo a disposizione un processore Zilog Z80 e fu utile imparare anche quello. Ho avuto la possibilità di saggiarne anche altri, ma senza dubbio Z80 è il più potente e duttile fra gli 8 bit, se non altro perché ha il set di istruzioni più ampio della sua categoria. Inoltre, mi piace ricordare che Zilog è un'azienda avviata da un italiano, tal Federico Faggin e che l'Assembler Z80 è un sovrainsieme di quello di Intel 8080. Successivamente, con la diffusione dei PC, mi toccò usare anche l'Intel 8088.
Discorso a parte per Forth che credo sia uno degli idiomi più oscuri mai esistiti, tanto che qualcuno ha scritto:
"I'm ashamed to live in a country where white slavers and drug smugglers go to jail, yet Forth programmers are allowed to walk the streets as free men".
Lascio a Google la traduzione.
Finalmente arrivò Pascal, anzi Turbo Pascal, all'università per le materie che implicavano l'uso dell'algebra lineare; con un compagno di corso, riuscimmo a metter a punto una routine per trovare l'inversa di una matrice, una colonna alla volta, usando un algoritmo di Strassen. Tenuto conto della potenza dei PC dell'epoca (un Intel 80386 a 66 MHz e 16 MB di RAM) e che la matrice da invertire era assai grande (880 x 880 elementi) il risultato, a mio avviso, ha ancor oggi del miracoloso. Poi fu la volta di Turbo C e Borland C++ con il quale scrissi un’infima procedura di fatturazione per una piccola ditta. Invece, per puro diletto, ho avuto modo di scrivere dei bei pezzi di codice in LPC e fu la prima volta che usai le closures, la terza via della programmazione...
Il passaggio ai prodotti Microsoft fu l'occasione di far pratica con SQL, Visual Basic e i suoi derivati (VBA e .NET). Fin qui si trattò di attività da semplice studente o amatore o smanettone o forse tutti e tre insieme. Entrato nel mondo del lavoro vero, dovetti acquisire padronanza su argomenti più professionali come COBOL e PL/SQL di Oracle.
Parallelamente, è stata una questione di sopravvivenza domare i linguaggi di scripting dell'interprete a linea di comando dei sistemi operativi sui quali lavoravo (MS-DOS e Unix in particolare) scoprendo un sottobosco di attrezzi assai raffinati come Awk e Perl. Quest'ultimo fu una scoperta sbalorditiva che aprì degli orizzonti amplissimi e una visione illuminante su tutto il mondo Unix. Non vorrei essere tacciato di esagerazione, ma Perl nel corso degli ultimi anni è stata una sorpresa continua. Cito solo il caso di un programmino di banale leggi-scrivi di un file per fare delle lievi modifiche su ogni riga. A parità di condizioni, il confronto dei tempi tra la versione Cobol e quella Perl fu di due ordini di grandezza...
E il web: Prima o poi tutti fanno i conti con il web e sin dai suoi albori dovetti masticare HTML, Javascript e, più recenteremente, JQuery.
Invece, ho avuto quasi zero opportunità di lavorare con Java. La natura è crudele.
Mi sono rifatto durante le vacanze estive, quando ho potuto fare qualche bel tuffo in Ruby, Python e Django; infine proprio l'altr'anno, un collega mi ha introdotto al divertentissimo REBOL. In tutto questo delirio, mi sto rendendo conto che si tratta del venticinquesimo linguaggio di programmazione.