De flesta som använt datorer har varit med om att ett program krashat, kanske det låst sig så att du tvingats starta om datorn eller kanske det stängt av sig själv mitt i något viktigt. Många av oss upplever det här dagligen. Varför är det så här?
Microsoft har nu gett ut version 4.01 av sitt webbläsarprogram Internet Explorer.
Vaddå fyra-komma-noll-ett?
Om du använt Internet Explorer 4 och märkt att programmet låst sig när du skrivit in en adress eller om du försökt sända ett e-post meddelande från Outlook och bara fått meddelandet "this program has performed an illegal operation and will be shut down", då vet du vad som skiljer version 4 från 4.01, eller åtminstone borde skilja. Människor har klagat på hundratals olika fel i IE 4.0 och nya 4.01 korrigerar bara de värsta av dem. Men Microsoft är inte det enda företaget som gör program som inte fungerar ordentligt till en början, Netscape är nu uppe i version 4.04 med sin webbläsare Navigator. Och problemet gäller naturligtvis inte bara webbläsare utan alla typer av program. Visste du föresten att nyaste versionen av Windows 95 har versionnumret 4.00950B?
Fel i datorprogram är något tillverkarna inte gärna talar om men nu har Microsofts vice verkställande direktör och Bill Gates högra hand, Steve Ballmer, erkänt att Microsoft gjorde vissa kompromisser för att hinna få klar Internet Explorer till det datum de lovade börja sälja programmet.
"Det finns fel i allas program"
-Tyvärr tror jag inte jag är rätt person att svara på sådana här frågor. Han som skulle kunna svara sitter i möte just nu, säger kvinnan vid det stora programföretagets nordenkontor.
Alla som skulle kunna besvara några frågor om datorprogrammens kvalitet är oanträffbara och trots att jag lämnar mitt namn och telefonnummer för att de skall kunna ta kontakt efter mötet förblir min telefon tyst.
Men så ringer det. En programmerare som jag inte ens försökt få tag på ringer mig med anledning av ett annat ärende men jag tar tillfället i akt och berättar vad jag håller på med.
-Ja, då har du minsann att skriva om. Jag är inte alls förvånad att de alla sitter i "möte". Allas datorprogram innehåller fel, även våra, men inte kan jag ju gå och förknippa vårt firmanamn med ett sådant erkännande.
Mannen ger mig ändå några råd om vad jag kunde ta upp i min artikel och slutligen även telefonnumret till en erfaren programmerare som för tillfället sysslar med något helt annat och alltså befinner sig i en någorlunda neutral position.
Finesser säljer bättre än pålitlighet
-Det är klart att de stora programtillverkarna som har stor press på sig att snabbt få ut nya program men nya finesser tvingas kompromissa när det gäller kvaliteten, säger Kai Risku som fungerat som projektchef för många programmeringsprojekt.
Jag undrar om vi kanske rentav kunde säga att vi som konsumenter har oss själva att skylla för att vi är mer intresserade av nya finesser än av att programmen fungerar felfritt.
-Det är väl ett lite tillspetsat sätt att se på saken men visst ligger det sanning i det. Programföretagen satsar på det som säljer och nya finesser tycks sälja bättre än stabila program.
I samband med att Ballmer erkände att Microsoft gjorde kompromisser för att få klar IE i tid sa han också att kvalitetskraven för en webbläsare är lägre än för många andra program.
-Programtillverkarna väger säkert konsekvenserna av fel på olika sätt beroende på programmen. Om en programmerare vid amerikanska rymdfartsverket Nasa gör ett programmeringsfel kan det kosta liv men vem tar nu någon större skada av att Internet Explorer krashad då och då till en början innan det kommer ut en version 4.01 där de värsta felen är fixade. Denna enorma skillnad mellan konsekvenserna syns också i att Nasa kanske provkör ett programi upp till tio år innan det tas i bruk i en rymdskyttel medan ett företag som Microsoft kan komma ut med något nytt och spännande på några månader. För de stora programtillverkarna ligger det enorma pengar i att vara först ute med något nytt.
Och mellan dessa två ytterligheter har vi då till exempel banker där fel inte kostar liv men nog kan medföra stora kostnader?
-Ja, svarar Risku fundersamt och är tyst i några sekunder.
-Var det inte rätt nyligen som en mängd bankautomater här i Finland stannade på grund av ett fel i ett program? Jag minns inte säkert. Överlag brukar nog banker vara mycket försiktiga och noggranna med sina program.
-Jag tror att ett typiskt problem när en deadline för ett vanligt konsumentprogram börjar närma sig är att programmerarna försöker hinna få med de där sista finesserna på bekostnad av ordentlig felhantering. Vanliga konsumenter använder inte alltid programmen som vi programmerare tänkt och då måste programmet vara gjorda så att de kan hantera konstiga situationer eller oväntad "yttre" omständighet som att utrymmet på hårdskivan tar slut.
Programmen kommer aldrig att bli felfria
Att Microsofts vice chef nu vågat börja ta i de här frågorna offentligt, betyder det att kvalitet blivit ett viktigare försäljningsargument?
-Kanske det. Konsumenterna blir naturligtvis mer medvetna om de här problemen ju oftare de drabbas av dem och nu kanske vi börjat lära oss att kräva mer felfria program och inte bara nya finesser.
Men hur är då utvecklingen, ökar programmens komplexitet snabbare än programmerarnas möjligheter att undvika fel eller tvärt om?
-Det är sant att programmens komplexitet ökar men i samma takt förbättras också hjälpmedlen för att undvika fel. Dagens stora program görs dessutom oftast genom att pussla ihop färdiga element som inte är så komplicerade i sig. Om komponenterna fungerar borde också helheten fungera. Fast det kan ju börja uppstå synkroniseringsproblem där en komponent utför något som kräver ett resultat från en annan komponent som kanske inte ännu hunnit få fram ett resultat eller så anropar programmet en funktion i en utomstående komponent som inte uppdaterats för att klara av sin nya uppgift…
Risku anser ändå att programmens komplexitet ökar i ungefär samma takt som programmerarnas möjligheter att undvika fel så kvalitetsnivån förblir i stort sett den samma.
Men på längre sikt då, kommer utvecklingen någonsin att gå så långt att vi kommer att vara omgivna av felfria datorprogram.
-Knappast. Det är så mycket annat som måste bli felfritt innan datorprogrammen kan bli det ... människorna, till exempel.
Carl-Magnus Dumell