Mikä on Millennium Bug?

Vuosituhatvika oli tietokoneongelma, joka uhkasi yritysten, sähköyhtiöiden, rahoitusalan, valtion virastojen ja jopa tieteen toimintaa. Keskiyön 31. joulukuuta 1999 ja 1. tammikuuta 2000 välisenä aikana pelättiin, että kaikki tietokoneet voivat sammua. Millennium -vika tunnetaan myös nimellä Vuosi 2000 -ongelma, Y2K -ongelma, Y2K -vika ja yleisimmin yksinkertaisesti Y2K.

Millennium -virhe oli nimenomaan ohjelmointiongelma. Se oli seurausta avaruusongelmasta sekä ohjelmoijien ennakkoluulottomuudesta 1960- ja 1970 -luvuilla. Tietokoneohjelmoinnin alkuvaiheessa muisti ja muu tallennustila olivat niukat ja kalliit, joten merkkien säästäminen oli etusijalla.

Ohjelmoijat kirjoittivat yrityssovelluskoodia käyttämällä COBOLia (yleinen liiketoimintalähtöinen kieli) ja RPG (raportin ohjelmointigeneraattori), jotta ne toimisivat keskusyksiköissä. Ohjelmoijat tallensivat päivämäärät muodossa yymmdd, joka sisälsi yhteensä kuusi merkkiä ja lajittelivat automaattisesti nousevaan järjestykseen. Jokainen näistä merkeistä vastasi yhtä kokonaista tilaa (tavua) tietokoneen tallennustilaa. Näin ollen kahden tavun tallennustilan säästäminen kullekin päivämäärälle oli merkittävää, kun otetaan huomioon kortteihin, nauhoihin tai levyille tallennettujen päivämääräkenttien määrä kaikissa tietueissa kaikissa tietokoneissa.

1980- ja 1990 -luvuilla ohjelmia muutettiin liiketoiminnan muuttuviin tarpeisiin, joten ohjelmoijat ylläpitivät, muokkasivat ja lisäsivät uusia vaatimuksia vanhoihin sovelluksiin sen sijaan, että kirjoittaisivat ne uudelleen alusta. Päivitykset ja muutokset riittivät pitämään alkuperäiset järjestelmät käynnissä.

1990 -luvun puolivälissä ohjelmoijat alkoivat ymmärtää, että päivämäärät eivät lajittelisi oikein vuoteen 2000 mennessä. Tietokoneyhteisössä siitä alkoi tulla ongelma, joka oli korjattava. Sitten vuonna 1997 tilanne tuli julkiseksi.

Oli tehtävä päätös joko aloittaa alusta ja kirjoittaa ohjelmat uudelleen alusta loppuun tai korjata olemassa olevat ohjelmat ja tallennetut päivämäärät. Tällä vaihtoehdolla oli toinen haaste, koska osa lähdekoodista oli kadonnut.
Monet yritykset perustettiin ratkaisemaan nämä ongelmat. Yksi vaihtoehto oli lisätä vuosisata olemassa olevaan päivämäärään. Tämä edellyttää kahden tavun lisäämistä kullekin päivämäärälle, joka on tallennettu niiden levytiedostoihin. Toiset päättivät kirjoittaa ohjelmistonsa uudelleen ja hyödyntää uusia verkko- ja olio -tekniikoita siirtäessään tärkeät sovelluksensa pois pääkoneista.
Vuosituhatvian korjaamiseen käytettiin yli 300 miljardia Yhdysvaltain dollaria (USD). Ohjelmistokysymysten lisäksi lukemattomia selviytymisyrityksiä syntyi ja hyötyi huolestuneen ja ennakoivan yleisön tuloksena.