2000 metų problema

2000 metų problema (taip pat žinoma kaip Y2K problema arba tiesiog Y2K) buvo kompiuteriuose ir elektroniniuose prietaisuose iškilusi datos keitimo problema, kuri atsirado dėl metų rašymo dviem skaitmenimis vietoje keturių. Pavyzdžiui, daug kompiuterinių programų 1983 m. žymėjo tiesiog kaip 83. Tokiose programose negalėjo kisti pirmi du metų datos skaitmenys (19). Dalis tokių programų negalėjo atskirti 2000 m. nuo 1900 m. Kitos programos 2000 m. bandė užrašyti kaip 19100. 2000 m. sausio 1 d. (perėjus iš 1999 m. į 2000 m.) tai galėjo sukelti programų klaidų (pvz., programoms lyginant datas arba bandant suprasti datas) ir buvo baiminamasi, kad dėl tų klaidų sutriks komunalinių paslaugų ir kitų svarbių infrastruktūrų darbas. 

In 1997 m Anglijoje buvo parengtas oficialus DISC PD2000-1 standartas, aprašantis problemą ir su ja susijusius reikalavimus. 
Bijodamos sutrikimų, kompanijos ir organizacijos visame pasaulyje tikrino, taisė ir atnaujino savo sistemas. Apskaičiuota, kad pasiruošimui Y2K problemai buvo išleista 300 milijardų JAV dolerių.

Nors išaušus 2000 m. neįvyko jokių didelių gedimų, pasiruošimas Y2K problemai turėjo didelės įtakos kompiuterių industrijai. Šalys, kurios išleido labai mažai pinigų ir dėmesio problemos sprendimui (kaip Italija ir Pietų Korėja) patyrė tiek pat mažai problemų, kiek pasiruošimui išleidusios labai daug pinigų valstybės (kaip JAV ir Jungtinė Karalystė), todėl daug kas mano, jog problemų stoka buvo ne dėl gero pasiruošimo, o dėl problemos išpūtimo.

Sutrumpinime Y2K Y reiškia metus (nuo angliško žodžio year - metai), o K reiškia tūkstantį pagal graikišką priešdėlį kilo-, todėl 2K reiškia du tūkstančius. Taigi, sutrumpinimas Y2K tiesiog reiškia 2000 metai.

Problemos kilmė 

Septintajame XX a. dešimtmetyje kompiuterių atmintis buvo menka ir brangi, todėl dviejų skaitmenų sutaupymas kiekvienoje datoje buvo reikšmingas. Daugelis programų buvo trumpalaikės ir skirtos specifinės problemos sprendimui, todėl programuotojai nesitikėjo, kad jų programos bus naudojamos kelis dešimtmečius. Jie nesuprato, kad duomenų bazės skyrėsi nuo programų ir pasižymėjo kitokiomis charakteristikomis. Nors nuo tų laikų pasikeitė kompiuteriai, programų struktūra dažniausiai kisdavo labai nežymiai. 

Tiesa, keletas programuotojų anksti pastebėjo ir suprato problemą. Pirmasis apie ją viešai prabilo Bobas Bemeris 1958 m. Jis ilgai bandė paskleisti žinią apie problemą programuotojams, IBM bei JAV valdžiai, bet tai neatnešė beveik jokių rezultatų. Nors nuo 1970 m. žurnalai rašė Y2K tema, daugelis programuotojų suvokė Y2K grėsmę tik paskutiniojo XX a. dešimtmečio viduryje, bet net ir tada nebuvo skubama problemos spręsti.

2000 m. sausio 1 d. praneštos klaidos 
 Daugybėje tinklalapių data buvo neteisingai rodoma kaip 1/1/19100, "1/1/100 ar pan. Tarp jų buvo ir už oficialų JAV laiką atsakingos JAV karinio laivyno observatorijos tinklalapis.
 Japonijoje vidurnaktį sugedo radiacijos stebėjimo įranga, bet pareigūnai pranešė, kad žmonėms grėsmės nebuvo
 Dvi minutės po vidurnakčio vienoje Japonijos atominėje elektrinėje pasigirdo aliarmas
 Kai kurie Japonijos mobilieji telefonai prisipildžius atminčiai trynė naujas gautas žinutes vietoje senų
 Dviejose Australijos valstijose neveikė autobusų bilietų žymėjimo įrenginiai

Panašios problemos

1999 m. rugsėjo 9 d. 
Nors mažiau nei dėl Y2K problemos, kilo nerimo ir dėl 1999 m. rugsėjo 9 d. problemos, nes skaičiais tokia data yra užrašoma 9/9/99, o taip kartais buvo žymima nežinoma data. Dėl šios priežasties buvo baiminamasi, kad programos, kurios buvo užprogramuotos ką nors padaryti dar nenustatytą dieną, tas operacijas atliks 1999 m. rugsėjo 9 d. Nepaisant tokio nerimo, problema labiau klaidino kompiuterių naudotojus, o ne programas.

Keliamieji metai 
Metai yra keliamieji jei jie be liekanos dalijasi iš 4, bet ne iš 100, nebent jie taip pat dalijasi iš 400. Pavyzdžiui, 1600 m. buvo keliamieji, o 1700 m., 1800 m. ir 1900 m. - ne. Dauguma programų rėmėsi supaprastinta taisykle jei metai dalijasi iš 4, jie yra keliamieji. Laimei, ši taisyklė veikia 2000 m., nes jie, priešingai nei daugelis paskutinių amžiaus metų, buvo keliamieji. Problema gali vėl iškilti 2100 m., bet tikriausiai tada visos senos programos jau bus pakeistos.

Metų sumaišymas su mėnesiu arba diena 
Klaidos ir dviprasmiškumai gali kilti dėl skirtingų datos žymėjimų 6 skaitmenimis. Pavyzdžiui, datoje 09/11/07 gali būti neaišku, kur yra metai, kur diena, o kur mėnuo, nes skirtingi žmonės sudėsto šiuos dalykus skirtinga tvarka. Tokią datą galima interpretuoti kaip 2009 m. lapkričio 7 d. arba 2007 m. lapkričio 9 d., o gal net ir kitais būdais. Tokių dviprasmybių buvo daug mažiau praeito tūkstantmečio viduryje ir pabaigoje, nes tada buvo aišku, kuris skaičius žymi metus. Datos žymėjimo standartizavimas būtų sunkus dėl internacionalinių skirtumų ir laisvos rašymo prigimties.

10 000 metų problema 
Pradedant 10 000 metais datoms reikės papildomo skaitmens. Apie šią problemą dažnai yra kalbama juokais, dėl jos tolimumo ir supratimo, kad 10 000 metais turbūt bus naudojamos visai kitokios technologijos ir galbūt kitoks (ne Grigaliaus) kalendorius. Vis dėlto 5 skaitmenų metai jau dabar yra šiokia tokia problema programoms, kurios analizuoja su tolima ateitimi susijusias problemas (pvz., susijusias su ilgalaikiais radioaktyvių atliekų tvarkymo planais).

Nuorodos 
 Straipsniai apie 2000 m. problemą „Verslo žinių“ archyve

Šaltiniai 

Programavimo klaidos
2000 metai