Foutloos programmeren

Microsoft heeft aangekondigd maatregelen te nemen tegen virussen. De volgende versie van het e-mailprogramma Outlook zal niet meer automatisch allerlei programma's openen zodat de kans op virusbesmetting en verspreiding afneemt. Informaticus Edsger Wybe Dijkstra (1930) zal er niet wakker van liggen. De emiritus hoogleraar informatica heeft in de documentaire Denken als discipline geen goed woord over voor de software-industrie. ,,Het enige dat van belang is, is dat je iets in elkaar kunt flansen dat je kunt verkopen. Het hoeft helemaal niet goed te zijn.''

Volgens de ontwerpfilosofie van Dijkstra, die in 1984 naar Austin, Texas vertrok om hoogleraar te worden, zou de eerste versie van Outlook al perfect geweest zijn. Dijkstra, de eerste Nederlandse programmeur en gerespecteerd als één van de grootste denkers in de informatica, vind dat software foutloos en elegant moet zijn.

Dijkstra roeit al sinds de jaren vijftig, toen hij begon met programmeren, tegen de stroom in. Hij is er intussen zo aan gewend dat software niet deugt, dat hij zich niet meer verzet. Zijn eigen onderzoek doet hij in stilte. Dijkstra, die in Rotterdam is geboren en in Leiden natuurkunde studeerde, heeft voor een aantal belangrijke doorbraken in het programmeren gezorgd. Zijn betekenis voor de informatica blijft echter onderbelicht in Denken als discipline. Dat is jammer, want nu komt Dijkstra over als een oude mopperpot.

Met een anekdote illustreert Dijkstra waarom zijn programmeermethode nooit zal aanslaan. Na de landing van de eerste mensen op de maan realiseerde hij zich dat de complexiteit van computers en software programmeurs boven het hoofd was gegroeid. Het had niet veel gescheeld of de Apollo 11 was neergestort wegens een programmeerfout. Die fout was bij toeval vijf dagen voor de lancering ontdekt. Toen Dijkstra een lezing hield over het belang van foutloos programmeren bij een groot Belgisch softwarehuis was de belangstelling voor zijn ideeën nihil. Dat is ook logisch, zegt de wetenschapper gelaten. Want softwarehuizen verdienen hun geld met onderhoudscontracten. En programmeurs vinden de grootste intellectuele bevrediging in het oplossen van problemen.

De gebruiker zit ondertussen met de problemen. Die moet elke week een patch (een kleine reparatie) downloaden voor zijn e-mailprogramma en elke twee jaar een nieuwe tekstverwerker kopen. De schade die door slecht programmeren wordt veroorzaakt, is opgelopen tot miljarden guldens per jaar. En dat is nog maar de meetbare schade door virussen en computerinbraken. Wat er mis gaat door gebrekkige automatisering houden bedrijven geheim.

In Dijkstra's huis in Austin zijn geen computers te zien. Zijn wetenschappelijke artikelen schrijft hij met de hand en in zijn vrije tijd trekt Dijkstra met zijn vrouw de natuur in of lossen ze samen cryptogrammen op. Computers hebben ook niet zoveel met informatica te maken, heeft Dijkstra eens geschreven. Sterrenkunde gaat tenslotte ook niet over microscopen.

Denken als discipline, VPRO, Ned.3, 20.30-21.00u.