dumell.net/tidningsartiklar

År 2000 problemet

Publicerad i Åbo Underrättelser 01.11.1997

Alla som följt med nyheterna vet att världen kommer att stanna om 800 dagar då datorerna försöker gå från år (19)99 till (20)00 och tror att det plötsligt är år 1900. Ungefär 90% av alla datorer slutar fungera, bankautomater vägrar ge ut pengar, telefonerna tystnar, energidistributionen upphör, flygplan faller ur himlen, det utbryter kravaller när de automatiska löneutbetalningarna uteblir och den datoriserade handeln med värdepapper kollapsar. Armagedon kommer i form av en total och global ekonomisk kollaps.

Och så skall vi naturligtvis inte glömma att också hushållsapparater som tvättmaskiner, dammsugare och brödrostar kommer att sluta fungera. Katastrofen kommer att vara total.

Men det finns naturligtvis de som tvivlar, till exempel programmeraren vid en hisstillverkare som efter domedagsartikeln i Newsweek ärligt förvånad frågade hur någon fått för sig att datorprogrammen som styr hissar skulle ha något med datum att göra. Massmediernas förkärlek för katastrofer och den allmänna sekelskiftsvidskepligheten har gett upphov till något nytt att skrämma oss med nu när varken ebolavirus, galna kor eller motorcykelgäng längre fungerar.

Y2k

År 2000 problemet, eller Y2k (= year 2000) som det ofta kallas, existerar och det är allvarligt men ingen katastrof. Flygplan kommer inte att börja falla ner från himlen på nyårsnatten men ett eller annat företag kommer säkert att få ett tillstökade kundregister med fakturor som är -100 år gamla och liknande problem. En representant för amerikanska luftfartsverket har föresten lovat att han skall spendera nyår i luftan för att visa att flygtrafiken kommer att vara säker. Det finns heller ingen orsak att lyfta alla pengar från banken, köpa guldtackor och bege sig ut till någon vildmarksstuga och invänta en global ekonomisk katastrof (i USA lär det finnas de som redan bestämt sig för att bege sig med sina guldtackor till norra Montana och invänta katastrofen).

Till att börja med gäller det att komma ihåg att problemet enbart berör program som hanterar datum, det är inte frågan om att datorer är allmänt apokalyptiska och annars bara kommer att braka ihop på tolvslaget år 2000.

Problemet handlar alltså om att vissa dåligt gjorda datorprogram hanterar årtal som två siffror och att år 2000 då kommer att vara år 00 eller så krashar datorn totalt då den lägger en etta till 99, får 100 och försöker hantera det som ett tvåsifrigt tal. Om ett program till exempel skall räkna ut åldern på en person så ger 2000-1975 rätt svar, alltså att en person född 1975 är 25 år gammal år 2000. Men med två siffror kommer datorn att räkna 00-75 och få svaret -75 år gammal. Faktum är att de första problemen kan komma att uppstå redan 1.1.99 för 99 används i vissa gamla program för att beteckna något speciellt som frånvaro av värde eller omöjligt värde.

PC / Windows berörs knappast

Vanliga PC och Mac användare behöver knappast oroa sig.

Alla Macintoshdatorer har från första början byggts för att klara år fram till 2040 och de nyaste Macintoshdatorerna klarar av årtal ända fram till år 26000 (!) eller något i den stilen. De flesta Macintoshprogram, åtminstone alla från Adobe och Claris, utnyttjar datorernas inbyggda rutiner för datumhantering och fungerar alltså också utan problem fram till år 2040. Det finns däremot några program som utnyttjar egna rutiner för årtal och de kan få problem men överlag kommer alla nyare program att fungera felfritt.

Datorprogram för PC datorer är också väl rustade för det nya årtusendet. Till och med gamla ms-dos som nog ingen hade trott att skulle hänge med ens fram tills nu klarar av årtal fram till 2100 och detta gäller även alla Windows versioner fram till Windows 95. Nya Windows 98 kommer att klara årtal ännu längre in i framtiden och dessutom innehålla specialprogram för att hjälpa användare att kontrollera att övergången inte blir något problem. Nästan alla Windows program har redan länge varit förberedda för det nya årtusendet, endast vissa gamla dos-program kommer att få problem.

Däremot kan själva datorn få problem. Många äldre datorers inbyggda klocka klarar enbart av tvåsifriga årtal och då kommer datorprogrammen att få fel information från den inbyggda klockan även om programmen i sig klarar av fyrsifriga årtal. På www.righttime.com finns ett testprogram som tillfälligt ställer om den inbyggda klockan till strax före 24.00 den 31.12.1999, låter datorn gå över "årsskiftet" och sedan startar om datorn och kontrollerar vad den inbyggda klockan rapporterar. Om din PC mot förmodan inte klarar av testen kan det vara skäl att överväga att köpa ny dator inom de två närmaste åren.

Dyrt att förebygga

I första hand är år 2000 ett problem för företag som fortfarande använder 15-25 år gamla Cobol program i någon gammal centraldator. Cobol var ett populärt programmeringsspråk på den tiden och hade tekniska begränsningar som medförde att årtal nästan alltid hanterades som tvåsiffriga tal. För vanliga PC användare som tvingas byta sina datorer vart och vartannat år för att de blir föråldrade så snabbt kan det verka otroligt att sådana gamla program och datorer fortfarande är i bruk. Företag som hanterat stora mängder data, exempelvis register, var bland de första som tog i bruk datorer. När de väl fått sina datorsystem att fungera har de helt enkelt inte velat gå och peta på dem. Att byta ut datorerna mot nyare har varit onödigt så länge de gamla fungerat och dessutom skulle det ofta kräva att systemen står stilla en tid under bytet vilket inte alltid varit enkelt eller ens möjligt.

Idag måste dessa gamla datorprogram repareras och det råder stor efterfrågan på programmerare som behärskar Cobol och gamla stordatormiljöer. Jag såg nyligen en platsannons i Dagens Nyheter illustrerad med en bild av Beatles. Kraven som ställdes var bland annat att den sökande är över 40 och enbart associerar "surfande" med Beach Boys.

Det är inte lätt att idag hitta kunniga Cobol-programmerare och det är tidsödande och dyrt att börja gå igenom gamla program instruktion för instruktion. Ett stort och respekterat konsultföretag har uppskattat kostnaderna för att reparera alla datorprogram före sekelskiftet till ungefär 2,5 biljoner (!) mark och därtill uppskattas upprörda konsumenter stämma företag och kräva enorma skadestånd för alla problem som ändå väntas uppstå.

I verkligheten kommer kostnaderna antagligen att röra sig om bråkdel av detta, men stora pengar är det ändå frågan om.

Vissa väljer istället att helt enkelt passa på att byta ut gammal utrustning till ny, bland annat amerikanska försvarsmakten går in för detta.

Redan nu dyker det i internationell press upp någon katastrofartikel varje vecka och takten trappas upp ju närmare sekelskiftet vi kommer. Så nästa gång du ser en sådan artikel eller ett sådant tv-inslag, ta det med en nypa salt. Men visst kommer det att vara en aning spännande att vakna upp på morgonen den 1.1.00 för någon felaktig instruktion kommer säkert att finnas kvar i något program någonstans.

Carl-Magnus Dumell