Problém roku 2000: proč se svět bál přelomu tisíciletí
Dvě ušetřené číslice v datu vyvolaly koncem 90. let celosvětové obavy a jednu z největších oprav softwaru v dějinách.
Když se v 60. a 70. letech psaly první velké podnikové programy, byla paměť drahá. Programátoři proto šetřili, kde mohli, a rok ukládali jen jako dvě poslední číslice. Místo 1975 tedy stačilo 75. Málokdo tehdy čekal, že jeho kód poběží ještě o několik desetiletí později.
V čem byl problém
Jakmile se po roce 99 objeví 00, může software pochopit nový rok jako 1900 místo 2000. Výsledkem by byly chyby všude, kde se s daty počítá:
- výpočty úroků, splátek a věku by vycházely nesmyslně nebo záporně,
- systémy by mohly záznamy s novějším datem považovat za staré a mazat je,
- porovnávání a řazení dat by se rozpadlo.
Do toho přišla i méně známá komplikace: rok 2000 byl přestupný, protože je dělitelný 400. Kdo znal jen pravidlo „roky dělitelné stem přestupné nejsou“, napsal chybný kalendář.
Obavy a velký úklid
Média koncem 90. let líčila katastrofické scénáře: výpadky elektřiny, zastavené banky, padající letadla. Část lidí si dělala zásoby. Vlády, banky i firmy zároveň spustily rozsáhlé kontroly a opravy kódu, často ve starých jazycích, jako je COBOL. Celosvětové náklady se odhadují na stovky miliard dolarů.
Co se nakonec stalo
O půlnoci 1. ledna 2000 se svět nezastavil. Objevily se jen drobné chyby, třeba špatně zobrazené datum na webech nebo dokladech. Někdo proto dodnes tvrdí, že šlo o zbytečnou paniku. Mnoho odborníků to vidí opačně: katastrofa se nekonala právě proto, že se na ni včas a pečlivě připravilo.
Podobná zkouška nás přitom ještě čeká. Systémy, které počítají čas jako 32bitové číslo se znaménkem, přetečou 19. ledna 2038. Jde o takzvaný problém roku 2038.
Komentáře
Načítám komentáře…