Il millennium bug


L'origine del termine bug, che indica un qualsiasi difetto di programmazione del computer, si fa risalire ad una famosa programmatrice americana, Grace Hopper, l'inventrice del Cobol, il più vecchio linguaggio di programmazione.

Grace HopperElla una volta risolse delle anomalie di funzionamento di un calcolatore estraendo da esso un insetto annidato tra i contatti di un relay (bug vuol dire appunto insetto).

Allora la Hopper non si rese conto che proprio in quei primi programmi scritti in Cobol si nascondeva il più pericoloso di tutti i computer bug: il millennium bug.

Ernesto HoffmanNegli anni '50 e '60, all'alba dell'era informatica, la memoria dei computer era poca e costosa. A quell'epoca l'imperativo era semplificare al massimo le linee di codice. Anzi, oltre ad essere un imperativo era anche un vezzo: come racconta Ernesto Hoffman, uno dei maggiori ricercatori e programmatori dell'Ibm, "la bravura del programmatore era quella di fare il programma più corto possibile, e anzi era considerata una forma di virtuosismo. Tra noi si scherzava a chi una certa routine la faceva più corta degli altri. Questo virtuosismo, che allora sembrava una cosa bellissima, col tempo è diventata veramente una cosa pericolosa."

Quindi per risparmiare spazio prezioso si decise di programmare le date usando numeri a 6 cifre: due per il giorno, due per il mese e due per l'anno. Per fare un esempio, il giorno dello sbarco sulla Luna verrebbe rappresentato da un computer in questo modo:  20:07:69.

Il contrarre l'anno eliminando le prime due cifre non venne considerato un problema: il 2000 era molto lontano e nessuno pensava che quei software ci sarebbero arrivati; si pensava che altri più sofisticati li avrebbero rimpiazzati. E invece i nuovi programmi, come le case dell'antica Roma, vennero edificati su quello che già c'era. Di conseguenza quando il computer vedrà 00, non avendo capacità semantica lo interpreterà come 1900 e non come 2000.

Millennium bug non è il solo nome dato a questo problema: alcuni lo chiamano anche Y2K - year 2 thousand, altri TEOTWAWKI (la fine del mondo così come lo conosciamo).

Inizio pagina

Vai alla home page