01001000 01100101 01101100 01110000

Taco van Bennekom: Bovenstaande tekst hoor ik wel eens als ik op onze helpdesk zit. En hoewel een computer de bovenstaande tekst direct zou snappen heb ik, simpele ziel die ik ben, wat meer hulp nodig. Wat er feitelijk staat is: “help, mijn computer doet raar”. Als ik dan doorvraag aan de gebruiker wat er aan de hand is, dan blijkt de computer iets gedaan te hebben wat niet de bedoeling was van de gebruiker.

De computer kan daar niets aan doen, die weet niet beter. Daarom heb ik het vandaag op me genomen om de eer van deze arme computer te verdedigen.

Domme apparaten
In de basis zijn computers heel erg domme apparaten (sorry computer). Een computer snapt in feite alleen binaire taal: 0 of 1. Het lampje is aan, of het lampje is uit. Elke handeling die wij op een computer verrichten moet voor de machine vertaald worden naar een van die twee statussen.

Bij de eerste computers gebeurde dat ook op die manier: mensen voerden met de hand de nullen en enen in, bijvoorbeeld met ponskaarten. Nu ettelijke jaren later zijn de computers veel complexer geworden, maar toch moeten nog steeds die nullen en enen worden ingevoerd.

Software
Echter, omdat we inmiddels niet meer van gebruikers vragen dat ze zelf de juiste combinatie van nullen en enen invoeren, is er ooit iemand zo slim geweest om een stukje software te schrijven wat die vertaling voor je doet. Maar het is al lang niet meer één stukje software. Het zijn er inmiddels tientallen, zo niet honderden.

Al deze stukjes software (soms wel 100.000 regels code of meer) doen allerlei dingen in die computer. Soms doorlopend, soms alleen maar als de gebruiker wat invoert en soms zelfs tegelijkertijd. Dit houdt in dat er soms ook een conflict kan ontstaan. Het automatische proces en de gebruiker geven beiden opdrachten, maar wat als deze tegenstrijdig zijn. Wie krijgt er dan gelijk? Nu weet die arme machine niet meer wat hij moet doen en blijft besluiteloos staan wachten. Hem is namelijk nooit verteld wat hij moest doen in geval van tegenstrijdige opdrachten. Vrij vertaald: de mens die het stuk software heeft geschreven, heeft verzuimd hier rekening mee te houden.

(continue) Verbetering 
Terug naar mijn voorbeeld, op het moment dat ik op de helpdesk heb achterhaald wat het probleem is, ga ik naar een programmeur toe en vraag hem een stukje aanpassing in zijn code te doen waardoor het probleem zich niet meer kan voordoen. We installeren een update van de software en voila, de computer weet nu wat hij moet doen. Zo wordt de samenwerking tussen computer, software en gebruiker steeds verder geoptimaliseerd.

Dus, de volgende keer dat een computer raar doet, of niet doet wat je verwacht. Heb medelij met het arme beestje. Hij weet niet beter. Bel je helpdesk en zorg dat we je computer beter maken.