Y2K en het nieuwe millennium

Het jaar 2000 (Y2K) -probleem maakte de wereld bang. Hoewel sommigen klaar waren om "te feesten alsof het 1999 was", voorspelden anderen aan het einde van het jaar een catastrofe vanwege een programmering veronderstelling uit de begindagen van computers. Y2K ging het culturele gesprek aan over zorgen dat technologie en geautomatiseerde systemen zouden mislukken wanneer hun klokken de datum moesten omzetten van 31 december 1999 naar 1 januari 2000.

Leeftijd van technologische angst

Velen gingen ervan uit dat elektronica geen datums zou kunnen berekenen die niet met "19" begonnen omdat ze op verouderde, kortzichtige programmering draaiden. Computersystemen zouden zo verward zijn dat ze volledig zouden afsluiten, wat zou leiden tot chaos en grootschalige verstoring.

Gezien het feit dat veel van ons dagelijkse leven in '99 door computers werd gerund, werd verwacht dat nieuwjaar ernstige geautomatiseerde gevolgen zou hebben. Mensen maakten zich zorgen over banken, verkeerslichten, het elektriciteitsnet, luchthavens, magnetrons en televisies die allemaal door computers werden beheerd.

Doomsayers voorspelden zelfs dat mechanische processen zoals het doorspoelen van toiletten door de Y2K-bug zouden worden beïnvloed. Sommigen dachten dat Y2K een einde zou maken aan de beschaving zoals we die kenden. Terwijl computerprogrammeurs razendsnel stormden om computersystemen bij te werken met nieuwe informatie, bereidden velen in het publiek zich voor door extra geld en voedsel op te slaan.

Voorbereidingen voor de bug

Tegen 1997, een paar jaar voor de grote paniek over het millenniumprobleem, werkten computerwetenschappers al naar de oplossing. Het British Standards Institute (BSI) heeft nieuwe computernormen ontwikkeld om conformiteitsvereisten voor het jaar 2000 te definiëren. Bekend als DISC PD2000-1, schetste de norm vier regels:

  1. Geen waarde voor de huidige datum veroorzaakt een onderbreking in de werking.
  2. Op datum gebaseerde functionaliteit moet zich consistent gedragen voor datums vóór, tijdens en na 2000.
  3. In alle interfaces en gegevensopslag moet de eeuw op elke datum expliciet of door eenduidige inferentieregels en algoritmen worden gespecificeerd.
  4. 2000 moet als een schrikkeljaar worden erkend. 

In wezen begreep de standaard dat de bug afhankelijk was van twee belangrijke problemen:

  1. De bestaande tweecijferige weergave was problematisch bij de datumverwerking.
  2. Een misverstand van berekeningen voor schrikkeljaren in de Gregoriaanse kalender zorgde ervoor dat het jaar 2000 niet als een schrikkeljaar werd geprogrammeerd.

Het eerste probleem werd opgelost door een nieuwe programmering te creëren voor datums die moesten worden ingevoerd als viercijferige nummers (1997, 1998, 1999, enzovoort), waar ze voorheen slechts werden vertegenwoordigd door twee (97, 98 en 99). De tweede oplossing was het wijzigen van het algoritme voor het berekenen van schrikkeljaren naar "elk jaar de waarde gedeeld door 100 is geen schrikkeljaar", met de toevoeging van "exclusief jaren die deelbaar zijn door 400."

Wat gebeurde er op 1 januari?

Met zoveel voorbereiding en bijgewerkte programmering vóór de datumwijziging werd de catastrofe grotendeels afgewend. Toen de voorspelde datum kwam en computerklokken over de hele wereld werden bijgewerkt tot 1 januari 2000, gebeurde er maar weinig dat abnormaal was. Slechts enkele relatief kleine millennium bug-problemen deden zich voor, en zelfs minder werden gemeld.