Het probleem
Veel computerprogramma's en -toepassingen gebruiken
datums om gegevens te kunnen opslaan of te vergelijken. Bijvoorbeeld
iemands geboortedatum, of het uiterste houdbaarheidstijdstip van een
product.
In veel programma's worden jaartallen niet volledig ingevuld
(bijvoorbeeld 1998, of 2001), maar worden alleen de laatste twee cijfers
gebruikt (98, of 01). Wie in zo'n geval gaat rekenen met de datum komt
in problemen.
Bijvoorbeeld met leeftijden. Want hoe oud is iemand die in 1960 is
geboren in 2003? Een oud programma rekent uit: 03 min 60 is: min 57
jaar. Maar iemand kan geen negatieve leeftijd hebben, dus het programma
geeft een foutmelding of geeft de absolute waarde, dus 57 jaar.
Ook telefoneren kan problemen geven. Iemand die telefoneert van 23.58
uur op 31 december 1999 tot 0.02 uur op 1 januari 2000, heeft vier
minuten gebeld. Maar welke berekening maakt de computer van de
telefoonmaatschappij? Die kan uitkomen op een gesprek dat bijna een eeuw
heeft geduurd en opdracht geven tot het versturen van een astronomische
rekening. In dit voorbeeld is vooral het moment van de jaarwisseling
cruciaal, omdat alleen gegevens van tijdstippen worden vergeleken die
kort na elkaar liggen.
Ook het Global Positioning System (GPS) kan moeilijkheden geven. Dit is
een wereldwijd systeem van 24 satellieten dat positiesignalen uitzendt.
GPS heeft een dubbelteller-probleem: de teller voor weken springt op 20
augustus '99 weer op nul, de jaarteller doet dat bij de
millenniumwisseling. Allerlei apparaten, van rakketten tot vrachtwagens,
kunnen de uitgezonden positiegegevens verkeerd interpreteren.
De oorzaak
De eerste grootschalige toepassing van
computerprogramma's dateert van twintig of dertig jaar geleden, toen
overheden en grote bedrijven zogeheten mainframes kochten voor hun
administratie. Geheugenruimte - bijvoorbeeld een hoeveelheid bytes op
een magneetband of een chip - was toen zeer kostbaar.
Wie in 1977 evenveel geheugen wilde kopen als een pc van tweeduizend
gulden nu bezit, was vele miljoenen guldens kwijt.
De ontwerpers van programma's moesten daarom elke gebruikte byte
verantwoorden. Een jaartal twee in plaats van vier cijfers geven,
leverde een aanzienlijke besparing op.
Toen dacht men nog dat programma's slechts een paar jaar zouden meegaan.
Maar de programma's werden nooit vervangen. Want de gebruikers waren
tevreden, en vervanging zou miljoenen guldens gekost hebben. In veel
gevallen zijn bedrijven nu zelfs minder geld kwijt om de oude
programma's gereed te maken voor het millennium, dan wanneer ze een
nieuw systeem hadden gekocht.