Mis on Millennium Bug?

Aastatuhande viga oli arvutiprobleem, mis ohustas korporatsioonide, kommunaalettevõtete, finantstööstuste, valitsusasutuste ja isegi teaduse tegevust. Keskööl 31. detsembrist 1999 kuni 1. jaanuarini 2000 kardeti, et kõik arvutid võivad välja lülituda. Aastatuhande viga on tuntud ka kui Aasta 2000 probleem, Y2K probleem, Y2K viga ja kõige sagedamini nimetatakse seda lihtsalt Y2K.

Aastatuhande viga oli konkreetselt programmeerimisprobleem. See oli nii ruumiprobleemi kui ka 1960. ja 1970. aastate programmeerijate edasimõtlemise puudumise kombinatsioon. Arvutiprogrammeerimise algfaasis oli mälu ja muud salvestusruumi vähe ja kallis, seega oli märkide salvestamine prioriteetne.

Programmeerijad kirjutasid ärirakenduse koodi, kasutades COBOL-i (tavaline ärile orienteeritud keel) ja RPG-d (aruannete programmeerimise generaator), et töötada suurarvutitel. Programmeerijad salvestasid kuupäevad kujul yymmdd, mis hõlmas kokku kuut tähemärki, sorteerides automaatselt kasvavas järjekorras. Igaüks neist märkidest võrdub ühe terve ruumi (baidiga) arvuti salvestusruumis. Järelikult oli iga kuupäeva jaoks kahe baidi salvestusruumi salvestamine märkimisväärne, kui arvestada kaartidele, lintidele või ketastele salvestatud kuupäevaväljade hulka kõigi arvutite kõigi failide kõigis kirjetes.

1980. ja 1990. aastateks muudeti programme vastavalt muutuvatele ärivajadustele, nii et programmeerijad säilitasid, kohandasid ja lisasid vanadele rakendustele uusi nõudeid, selle asemel, et neid nullist ümber kirjutada. Uuendustest ja muudatustest piisas, et algsed süsteemid töös hoida.

1990. aastate keskel hakkasid programmeerijad mõistma, et 2000. aastaks ei ole kuupäevad õigesti sorteeritud. Arvutikogukonnas hakkas see muutuma probleemiks, mis vajas parandamist. Seejärel, 1997. aastal, sai olukord avalikuks.

Tuli teha otsus, kas alustada otsast ja kirjutada programmid algusest lõpuni ümber või parandada olemasolevad programmid ja salvestatud kuupäevad. Sellel valikul oli veel üks väljakutse, kuna osa lähtekoodist oli kadunud.
Nende probleemide lahendamiseks loodi palju ettevõtteid. Üks võimalus oli lisada sajand olemasolevale kuupäevale. See hõlmaks veel kahe baidi lisamist iga kuupäeva kohta, mis on salvestatud nende kettafailidesse. Teised otsustasid oma tarkvara ümber kirjutada ja kasutada ära uusi võrgu- ja objektorienteeritud tehnoloogiaid, kuna nad viisid oma kriitilised rakendused suurarvutitest eemale.
Aastatuhande vea parandamiseks kulutati üle 300 miljardi USA dollari (USD). Lisaks tarkvaraprobleemidele tekkis mureliku ja ennetava avalikkuse tõttu lugematu arv ellujäämisettevõtteid, mis teenisid kasu.