“We should never forget that programmers live in a world of artefacts, a fact that distinguishes them from most other scientists. The programmer should not ask how applicable the techniques of sound programming are, he should create a world in which they are applicable; it is his only way of delivering a high-quality design.” (E.W.Dijkstra)
Dit weekeinde heb ik De chauffeur verveelt zich van Gerrit Krol weer eens herlezen, en meteen erachteraan dan maar het magistrale proefschrift van Ad Zuiderent over dat boek, die sinds enige tijd online staat: Een dartele geest. Je kunt die roman waarschijnlijk uit wel duizend perspectieven lezen, en Zuiderent kiest een paar aannemelijke uit. Doordat hij bovendien een groot aantal recensies van het boek bespreekt, komen er nog meer mogelijke manieren van kijken aan bod.
Maar er zijn er altijd nóg meer. Wat volgens mij in ieder geval nog ontbreekt in de Krol-studie is het perspectief van de programmeur. Dat pleegt men te mijden: te ver weg van dat van de alfa-onderzoeker.
Maar de schrijver Gerrit Krol heeft gewerkt als programmeur net als zijn hoofdpersoon in De chauffeur verveelt zich, Gerrit Krol, dus je kunt er eigenlijk niet omheen. Wat zijn de verschillen tussen het schrijven van een roman en het schrijven van een computerprogramma? Dat is een onderwerp waar in de roman een aantal keer aan geraakt wordt, maar waar Zuiderent en andere Krolianen tot nu toe helaas met een boogje omheen lopen.
Geraakt
Er zijn minstens twee dimensies aan de verschillen tussen programmeren en romans schrijven, tussen computertaal en natuurlijke taal.
In de eerste plaats is een programmeertaal een formele taal, waarin de definities van ieder begrip vaststaan. In dat opzicht lijkt het op de taal van de logica, en heeft het soortgelijke problemen: de betekenis van ieder begrip is heel precies vastgelegd in een definitie en precies daarom ontsnapt er van alles en nog wat aan de mogelijkheden van de formele taal die de veel flexibeler, vloeibaarder natuurlijke taal niet lijkt te hebben. Dit is een onderwerp dat wel door Zuiderent en anderen beschreven wordt, juist omdat het óók een eigenschap is van de logica.
Maar er is nog een andere dimensie. Wie een roman schrijft, of een autobiografie (De chauffeur verveelt zich zweeft tussen die twee categorieën in), geeft een beschrijving van iets dat werkelijk waar is of dat werkelijk waar zou kunnen zijn. De relatie tussen de werkelijkheid van de tekst en de werkelijkheid van de wereld is in ieder geval een asymmetrische: de wereld beïnvloedt de tekst maar het omgekeerde is veel minder het geval, of hooguit indirect (de lezer leest Max Havelaar en wordt hierdoor zo geraakt dat hij zich gaat inzetten voor eerherstel van E. Douwes Dekker).
nasa
Een computerprogramma heeft echter een heel andere relatie met de werkelijkheid. Het beeldt die werkelijkheid op een bepaalde manier uit – het geeft een beschrijving van het probleem dat moet worden opgelost. Laten we zeggen dat een programma een database moet doorzoeken van boeken, dan staat er ergens in het programma dat een boek een auteur heeft en een uitgever; dat is een beschrijving van de werkelijkheid. Maar tegelijkertijd bestaat een programma uit een verzameling instructies, en wel instructies aan een lezer die bijzonder is omdat hij willoos is en het niet kan helpen dat hij die instructies onmiddellijk begint uit te voeren: de computer. In die zin lost het programma dus een probleem op en verandert daarmee iets aan de wereld: een lijst boeken staat nu in alfabetische volgorde op auteursnaam.
Een en ander komt aan de orde in een (ook door Zuiderent uitvoerig besproken passage):
“Dit hele boek gaat over iemand van de nasa, een astronaut die naar de maan gaat en daartoe in zijn auto stapt.
Wat is het verband tussen de handelingen die een astronaut moet uitvoeren en de beschrijving ervan?De handelingen die een astronaut moet uitvoeren herhaalt hij vele malen; hij kent ze ten slotte van buiten. Het ogenblik is nabij dat deze man vervangen kan worden door een machine, een ‘robot’ zo men wil, door een geprogrammeerde instructie, niet interessant om te beschrijven in een roman of gedicht, omdat het al beschreven is.Wat niet geprogrammeerd is, hoe routineus de handelingen ook verlopen, dat is de wijze waarop hij plaats neemt achter het stuur van zijn auto, elke dag, of de zwier waarmee hij een sigaret opsteekt. Niet geprogrammeerd, nooit beschreven en daarom beschrijven we het.”
Doorgronden
Het alledaagse is zo ingewikkeld dat we het niet goed genoeg begrijpen en daarom niet zo kunnen beschrijven dat het probleem voor altijd is opgelost. De complexe handelingen daarentegen moeten we goed analyseren en precies daarom zijn we uiteindelijk triviaal genoeg om als opgelost te beschouwen – we kunnen ze programmeren.
Mij lijkt dat je De chauffeur verveelt zich kunt lezen als een poging om een heel ingewikkeld probleem – de relatie van Gerrit met zijn vrouw – zo te doorgronden dat je er geen roman over zou hoeven schrijven, maar een computerprogramma.
Ontroerends
Onder de tekst van de roman staat ‘Fairbanks, september 1978’. Dat is een opvallende datering, bijvoorbeeld omdat de roman in 1973 verscheen. Zuiderent probeert dit te verklaren als een manier waarop de schrijver de tijd probeert te ontstijgen. Dat is vast waar, maar het heeft denk ik ook te maken met deze poging van de tekst een computerprogramma te maken waarmee je de werkelijkheid onder controle krijgt.
Als je het narekent, moeten het immers precies die laatste jaren zijn waarin Gerrit Krol de problemen met Marie, zijn vrouw, voor altijd oplost. Zij komt weer bij hem wonen, ze zijn gelukkig. Als autobiografisch gegeven werkte dat in 1973 misschien nog niet goed; als computerprogramma heeft het iets uitermate ontroerends.
Laat een reactie achter