Un/a giovane di oggi può immaginare abbastanza facilmente come vivevano i suoi antenati un paio di secoli fa, quando non c’era l’elettricità e le case venivano illuminate con la luce delle candele. È invece molto più difficile che possa immaginare come furono i primi tempi dell’informatica, anche perché vissuti (peraltro meno di 50 anni fa) e tramandati da pochi iniziati.
Ripensandoci oggi, chi programmava un calcolatore, con linguaggi che erano ancora abbastanza vicini al c.d. “linguaggio macchina”, in quegli anni aveva come la sensazione di usare una macchina di Turing fisica – del tipo: “se sei nello stato S1 e leggi un 1, muovi un passo a dx, e rimani in S1; se sei nello stato S1 e leggi uno 0, cancella lo zero, scrivi 1 e mettiti nello stato S2”. Tra l’altro, per indicare quello che all’epoca era un armadio sgraziato, di un paio di metri cubi, non si usava ancora il termine “elaboratore”, ma “calcolatore”; e ancora non esisteva neppure il termine “informatica”. Ci si riferiva invece al “calcolo automatico”, sia in ambito accademico che professionale; tant’è che gli “informatici” dell’epoca si iscrivevano, appunto, all’Associazione Italiana per il Calcolo Automatico (AICA).
Ma al di là della programmazione, necessariamente ad hoc per svolgere qualsiasi operazione, anche la più banale (le librerie di routine sarebbero comparse successivamente), e del sistema operativo, non sempre del tutto affidabile, quello che metteva veramente a dura prova la pazienza erano le modalità di input/output.
L’unico supporto di input era costituito dalle schede Hollerith (v. immagine), convenzionalmente suddivise in 80 colonne e 12 righe. I caratteri alfanumerici ed i caratteri speciali erano codificati come una combinazione di due o tre fori lungo una colonna. Per la perforazione si utilizzava una macchina grande come un secrétaire (v. immagine), con un serbatoio per le schede vergini da un lato ed un magazzino per la raccolta di quelle perforate dall’altro, che si usava più o meno come una macchina da scrivere di allora – il minimo errore di battitura non poteva essere corretto, ma comportava la sostituzione della scheda che lo conteneva. Quando i dati da immettere erano tanti e tutti con la medesima struttura (p.e. nome, cognome, età, genere), la perforatrice si poteva “programmare” in modo da posizionarsi automaticamente sulla prima colonna dei vari campi. L’operazione consisteva nel perforare una scheda con simboli particolari, avvolgerla con cura attorno al tamburo (v. immagine), collocarlo al suo posto e avviare la procedura (per eventuali approfondimenti v. IBM029 nella bibliositografia).
Ogni dato di input ed ogni istruzione di un programma (come un semplice “DO” o un “END”) costituiva il contenuto di una scheda. Si può dunque ben immaginare come anche un programmino da poco e con pochi dati, comportasse la perforazione di un gran numero di schede.
Queste venivano fornite in scatole rettangolari di cartone (v. immagine), che poi si usavano anche per riporre ordinatamente le schede, dopo averle perforate. Il lettore di schede stava tipicamente accanto al calcolatore ed alla stampante in sala macchine, mentre le perforatrici stavano in un ambiente esterno. C’era dunque la necessità di spostare spesso, manualmente, queste scatole, contenenti anche mille e più schede, e non era infrequente che sfuggissero di mano, si aprissero e rovesciassero il loro contenuto sul pavimento. Esperienza davvero poco piacevole, dato che, tra l’altro, le schede non erano numerate; a me, per fortuna, capitò una volta sola, ma me lo ricordo ancora perfettamente e credo che i primi capelli bianchi mi siano spuntati allora.
L’unità di output era invece costituita da una stampante ad aghi (un altro oggetto massiccio di un paio di metri cubi – v. immagine), rumorosissima, che stampava a 132 colonne su carta di lunghezza “infinita”, con i forellini sui due lati per il trascinamento continuo, piegata a fisarmonica in fogli di dimensioni grosso modo di un A2 in orizzontale.
Quando un programma non veniva eseguito correttamente, per cercare di comprenderne le cause e correggere gli errori l’unico modo consisteva nel richiedere il “dump” della memoria nel momento in cui l’esecuzione si era interrotta. Questo veniva stampato dal sistema operativo e la sua interpretazione era (ed è ancora oggi) riservata a pochi stregoni, non soggetti alle vertigini causate ai comuni mortali da una fisarmonica di diversi fogli A2, zeppa di numeri binari, senza soluzione di continuità.
Se si volevano conservare degli archivi, di dati e/o di programmi, l’unica alternativa era costituita da grandi nastri magnetici (v. immagine), ciascuno dei quali veniva letto e scritto dentro un armadio a vetri. A montare il nastro nell’armadio ed a smontarlo, ad operazione ultimata, provvedeva manualmente (almeno agli inizi) un operatore del centro, al quale ci si rapportava di volta in volta per telefono, se si era degli utenti abituali, oppure consegnandolo direttamente a mano e poi ritirandolo allo sportello.





