Seleziona la tua lingua

Programmazione al tempo del colera

Linguaggio C (D. Ritchie, B. Kernighan, 1978, Jackson Ed.)Imparare a programmare in C su una nuova piattaforma è come iniziare a conoscere una persona: si inizia rompendo il ghiaccio con gli argomenti più generici, per arrivare piano piano a conoscerne le varie sfaccettature del carattere e la personalità. Imparai a programmare in C nel 1995, su piattaforma SCO UNIX. Il mainframe era un vecchio IBM HP 9000 del 1984 che il laboratorio di informatica ci metteva a disposizione attraverso terminali "stupidi" dotati di vetuste tastiere ingiallite dal tempo e fastidiosi monitor ai fostori verdi parzialmente impressionati in modo irreversibile. Al tempo la percezione era di camminare su un terreno minato poiché il grosso mainframe incuteva soggezione e soprattutto perché il linguaggio C non è propriamente immediato.

C'era chi diceva che prima di poter dire di conoscere il linguaggio C occorre studiarlo tre volte. Io ho perso il conto delle volte che ho letto e riletto il K&R, rigorosamente acquistato dal libraio. Il libro cartaceo era l'unico mezzo di apprendimento, esistevano le BBS (Bulletin Board System) e i newsgroup ma erano di solito organizzati in FAQ, tutorial e argomenti specifici. Non esisteva una guida omnicomprensiva, tipo un manuale online.

Negli anni '90 avevo un Amiga 500 sulla scrivania di casa ed era per me un grande compagno di giochi. Non mettevo in dubbio che lo si potesse programmare per fare anche altro, tuttavia non me ne ero mai preoccupato. Eppure era possibile, bastava un compilatore C ed un manuale.

Il linguaggio C è tra i più diffusi al mondo e questo basta a semplificare le cose. Una volta appreso lo si può impiegare su tutte le piattaforme che lo supportano, portando addirittura il codice da altre piattaforme se questo è scritto bene. L'unico sforzo necessario è imparare a conoscere le librerie non standard, che possono aiutarci ad interagire più a fondo con l'ambiente operativo.

ACM è l'acronimo di Amiga C Manual, scritto da Anders Bjerin. E' diviso in due libri: il primo consiste di 15 capitoli e copre le parti dalla I alla III, il secondo libro copre la parte IV e l'appendice. In una cartella a parte si trovano i codici sorgenti degli esempi mostrati nel primo libro. Il libro illustra la programmazione in C su piattaforma Amiga dal punto di vista del neofita, partendo dalle basi con un approccio chiaro e semplice. Ecco un estratto dal readme originale di Anders Bjerin:

The complete boiled-down C manual for the Amiga which
describes how to open and work with Screens, Windows,
Graphics, Gadgets, Requesters, Alerts, Menus, IDCMP,
Sprites, VSprites, AmigaDOS, Low Level Graphics Routines,
Hints and Tips, etc.  The manual also explains how to use
your C Compiler and gives you important information about
how the Amiga works and how your programs should be designed.
The manual consists of 15 chapters together with more than
100 fully executable examples with source code.
Author:  Anders Bjerin

Manuale di Lattice Amiga C Compiler v5.00Il più diffuso compilatore C per Amiga è sicuramente Lattice C, della Lattice Incorporated poi acquistato dall'americata SAS. Si trattava di un ambiente integrato completo disponibile anche per Atari ST, Sinclair QL, VMS, UNIX, OS/2 e MS-DOS. Grazie alla sua completezza in breve tempo si impose come unica piattaforma di sviluppo su Amiga e per questo è menzionato anche sulla documentazione ufficiale di Amiga.

Ciò detto, sarebbe fuori luogo pensare di spendere oggi i propri sforzi per scrivere software commerciale per un Amiga 500, poiché questo non avrebbe mercato, e poi le necessità di una business application moderna eccedono di gran lunga la capacità ci calcolo di un processore degli anni '80. Eppure rileggere le pagine di questo manuale è molto istruttivo.

Esso racconta il percorso formativo di persone che trenta anni fa venivano conquistate dalla rivoluzione informatica al punto di farne prima un sogno e poi una professione, per giunta pure molto redditizia. Scrivere software per queste piattaforme era semplice e le esigenze dell'home computing limitate. C'era un sacco di hardware in circolazione e c'era bisogno persone che scrivessero nuovo software. Alfonso John Romero, cofondatore della texana Id Software e padre di Wolfenstein 3D, Doom e Quake, era uno di quelli. Verso la fine degli anni '70 aveva iniziato ad interessarsi alla programmazione dei computer e nel 1984 aveva appena 17 quando scrisse Scout Search, un videogioco di avventura ambientato in un labirinto. Scout Search fu pubblicato dalla rivista Apple inCider nel numero di giugno 1984, e fu solo il primo di molti successi.

Sarebbe impensabile vedere oggi una nota rivista fare appello al talento amatoriale di un giovane programmatore, seppur talentuoso, ma voglio pensare che almeno nell'America di quegli anni tutto fosse possibile.