Edsger W. Dijkstra: Briljant, kleurrijk en eigenzinnig

Edsger W. Dijkstra wordt beschouwd als een van de meest invloedrijke onderzoekers op het gebied van wiskunde en informatica. Hij ontwikkelde een groot deel van zijn baanbrekende werk bij het Mathematisch Centrum, het instituut dat nu CWI heet. Ter ere van Dijkstra’s werk en nalatenschap heeft het CWI in 2019 de Dijkstra Fellowships in het leven geroepen.

Edsger W. Dijkstra (1930-2002)
Edsger W. Dijkstra (1930-2002)

Tijdens zijn leven heeft hij het vakgebied van de informatica als geen andere wetenschapper vormgegeven. Zijn baanbrekende bijdragen strekten zich uit van de technische tot de theoretische kant van de informatica. Ze hadden betrekking op gebieden als het ontwerpen van compilers, besturingssystemen, gedistribueerde systemen, sequentiële en gelijktijdige programmering, software-engineering en grafalgoritmen. Veel van Dijkstra’s artikelen, vaak slechts enkele pagina’s lang, liggen aan de basis van nieuwe onderzoeksgebieden. Sterker nog, verschillende concepten die nu standaard zijn in de informatica, werden voor het eerst geïdentificeerd door Dijkstra en dragen namen die door hem zijn bedacht.

Dijkstra werd uiteindelijk geen theoretisch natuurkundige, dankzij een gesprek met Adriaan van Wijngaarden, destijds directeur van de afdeling Computation van het Mathematisch Centrum. Nadat hij drie jaar als programmeur bij het centrum had gewerkt, klopte hij vol twijfel bij Van Wijngaarden aan, omdat hij het moeilijk vond om zijn rol als programmeur te combineren met zijn studie theoretische natuurkunde aan de Universiteit van Leiden. ‘Toen ik enkele uren later zijn kantoor verliet,’ zei Dijkstra in zijn ACM Turing-lezing uit 1972, ‘was ik een ander mens.’ Hoewel programmeren toen nog geen gevestigde discipline was, wist Van Wijngaarden Dijkstra ervan te overtuigen dat ‘het een blijvertje was’ en dat hij een rol kon spelen bij het op de kaart zetten van de discipline.

De hoeksteen van de roem: het algoritme van Dijkstra

En dat is hem inderdaad gelukt. Dijkstra werkte van 1952 tot 1962 bij het Mathematisch Centrum, waar hij bedacht wat, in zijn eigen woorden, ‘een van de hoekstenen van mijn roem’ is geworden. Die hoeksteen is het algoritme voor de kortste weg, ook wel bekend als het algoritme van Dijkstra. Volgens Dijkstra was het ‘een uitvinding van twintig minuten’ die hij bedacht terwijl hij met zijn verloofde Ria, die hij bij het Mathematisch Centrum had ontmoet, op het terras van een café van een kopje koffie genoot. Hij gebruikte het algoritme aanvankelijk in 1956 om het potentieel van een nieuwe computer, de ARMAC, te demonstreren. Maar hij begreep maar al te goed dat een demonstratie voor leken een probleem en een antwoord moest bevatten die zij konden begrijpen.

Edsger Dijkstra (left), Bram Loopstra and Ria Debets at Mathematisch Centrum in Amsterdam (1954).
Edsger Dijkstra (left), Bram Loopstra and Ria Debets at Mathematisch Centrum in Amsterdam (1954).

Zijn oplossing bestond uit het ontwerpen van een algoritme dat aan de hand van een vereenvoudigde kaart de kortste route tussen twee steden in Nederland zou vinden. ‘Wat is de kortste weg van Rotterdam naar Groningen?’ vroeg Dijkstra retorisch in een interview met Communications of the ACM. ‘Dat is het algoritme voor de kortste weg.’ Hoewel hij het algoritme al gebruikte voor de officiële presentatie van de ARMAC in 1956, werd het pas in 1959 gepubliceerd in zijn artikel van drie pagina’s A Note on Two Problems in Connexion with Graphs. De impact ervan werd in 1999 het best samengevat door de Deense informaticus Mikkel Thorup: ‘Sinds 1959 zijn alle theoretische ontwikkelingen op het gebied van SSSP [Single-Source Shortest Paths] voor algemene gerichte en ongerichte grafen gebaseerd op het algoritme van Dijkstra.’

Programmeren in ALGOL 60

Een andere belangrijke prestatie tijdens Dijkstra’s tijd bij het Mathematisch Centrum was zijn bijdrage aan de ontwikkeling en popularisering van de programmeertaal ALGOL 60. In 1958-1959 nam Dijkstra deel aan een aantal bijeenkomsten die uitmondden in de publicatie van het rapport waarin de taal ALGOL 60 werd gedefinieerd. Ironisch genoeg komt de naam van Dijkstra niet voor op de lijst van 13 auteurs van het eindrapport: het lijkt erop dat hij de commissie voortijdig verliet omdat hij het niet eens kon worden met de meerderheidsstandpunten. Maar het was tijdens zijn dienstverband als programmeur bij het Mathematisch Centrum dat hij samen met zijn collega Jaap Zonneveld de eerste ALGOL 60-compiler schreef, die onder andere gebruikmaakte van een nieuwe methode voor het implementeren van recursie. Zijn korte boek, *A Primer of Algol 60 Programming*, oorspronkelijk gepubliceerd in 1962, was jarenlang het standaardwerk voor deze programmeertaal.

Dinsdagmiddagclub

In 1962 begon Dijkstra te werken als hoogleraar aan de afdeling Wiskunde van de Technische Universiteit Eindhoven. Twee jaar later verhuisden hij en zijn vrouw Ria naar een nieuwbouwwoning in Nuenen, een klein dorpje aan de rand van Eindhoven. Nuenen kwam in 1973 op de wereldkaart van de informatica te staan toen Dijkstra zijn rapporten, ondertekend als ‘Burroughs Research Fellow’, met zijn thuisadres begon te verspreiden. Velen dachten dat Burroughs, een bedrijf dat destijds bekend stond om de productie van computers op basis van een innovatieve hardwarearchitectuur, in Nuenen was gevestigd.

In feite was Dijkstra de enige onderzoeker bij Burroughs Corporation en werkte hij vanuit huis voor het bedrijf, waarbij hij af en toe naar de vestigingen in de VS reisde. Daardoor beperkte hij zijn aanstelling aan de universiteit tot één dag per week. Die dag, dinsdag, stond al snel bekend als de dag van de beroemde ‘Tuesday Afternoon Club’, een seminar waarin hij en zijn collega’s wetenschappelijke artikelen bespraken en alle aspecten – notatie, opbouw, presentatie, taalgebruik en inhoud – onder de loep namen. Toen hij in 1984 naar de Universiteit van Texas in Austin verhuisde, duurde het niet lang voordat er een nieuwe ‘afdeling’ van de Tuesday Afternoon Club werd opgericht.

Edsger Dijkstra during his lecture at the Nederlands Wiskundig Congres in Amsterdam (1978).
Edsger Dijkstra during his lecture at the Nederlands Wiskundig Congres in Amsterdam (1978).

Het ontstaan van gelijktijdige programmering

In 1968 publiceerde Dijkstra zijn beroemde artikel, „Cooperating Sequential Processes”, dat de basis legde voor alle latere ontwerpen van besturingssystemen en tevens aanleiding gaf tot het ontstaan van het vakgebied van de gelijktijdige programmering. Veel van Dijkstra’s ideeën uit deze periode waren al enige tijd aan het rijpen. Inderdaad, was „Cooperating Sequential Processes“ al in 1965 als manuscript voltooid, door hem aangeduid als EWD 123. Dijkstra nummerde zijn grotendeels met de hand geschreven manuscripten, waarbij hij zijn Mont Blanc-vulpen gebruikte, en deze staan in de wereld van de informatica bekend als EWD’s. Dit artikel stelt het eerste synchronisatiemechanisme voor gelijktijdige processen voor: de semafoor met zijn twee bewerkingen, algemeen bekend als P en V.

Deadlock-probleem en bewijzen

In een artikel uit 1971 illustreerde Dijkstra het zogenaamde deadlock-probleem aan de hand van het zogenaamde ‘dining philosophers’-probleem: vijf filosofen die rond een tafel zitten, moeten spaghetti eten met slechts vijf vorken. Het probleem is echter dat elk van hen twee vorken gebruikt om te eten. Dit voorbeeld werd een klassieke benchmark voor het uitleggen van nieuwe synchronisatieprimitieven. Het artikel leidde ook tot een intensieve zoektocht naar synchronisatiemechanismen op hoog niveau, wat uiteindelijk resulteerde in het concept van een monitor, waarmee de computerwetenschappers Per Brinch Hansen en Tony Hoare baanbrekend werk verrichtten.

Eind jaren zeventig raakte Dijkstra geïnteresseerd in de ontwikkeling en presentatie van bewijzen. Sommige van deze bewijzen waren verrassende toepassingen van zijn programmeermethodologie op de meetkunde of de algebra. Hij had kritiek op het gebruik van implicatie en gaf in plaats daarvan de voorkeur aan bewijzen die werden gepresenteerd als ketens van equivalenties, waarbij elke stap werd gemotiveerd als een tussengevoegd commentaar, en hij benadrukte graag het feit dat de equivalentie associatief is, een feit dat logici wel kenden maar blijkbaar nooit gebruikten.

Verhuizen naar Austin

In 1984 aanvaardde Dijkstra een aanstelling aan de Universiteit van Texas in Austin. Austin was voor Dijkstra als een tweede thuis, en hij bracht zijn vakanties door met het verkennen van de Amerikaanse nationale parken, samen met zijn vrouw in hun Volkswagenbus, die de bijnaam „Touring Machine” had gekregen. De colleges die hij in Austin gaf, hadden eigenlijk weinig met informatica te maken. Ze gingen juist over zijn interesse in de presentatie van wiskundige bewijzen. Hij vroeg studenten om bewijzen op te stellen voor de elementaire wiskundige problemen die hij in de les besprak, en gaf die vervolgens terug met scherpe maar humoristische opmerkingen zoals ‘Many sins of omissions’.

Zijn colleges waren buitengewoon vermakelijk dankzij zijn scherpe opmerkingen, treffende woordkeuzes en merkwaardige citaten die hij op het bord schreef voordat hij met zijn college begon. Hij vroeg zijn studenten nooit om stil te zijn in de collegezaal. In plaats daarvan verlaagde hij zijn eigen stem tot het punt dat hij nauwelijks nog te horen was. Deze truc was verbazingwekkend effectief.

Kleurrijk en eigenzinnig

Dijkstra was een kleurrijke – zij het soms lastige en eigenzinnige – en alom gerespecteerde man. Veel onderzoekers waren gefascineerd door zijn sterke persoonlijkheid, gecombineerd met opmerkelijke werkgewoonten, ongezouten eerlijkheid en uitgesproken meningen over hoe onderzoek moest worden uitgevoerd. Dijkstra leek te geloven dat iedereen net zo moest denken, en zich zelfs zo moest gedragen, als hijzelf. Dit maakte hem tot een geboren profeet en verklaarde veel van zijn eigenaardigheden.

Dijkstra trok een relatief kleine maar stabiele groep volgelingen aan, waaronder zowel promovendi als zeer gerenommeerde computerwetenschappers. Zij namen zijn schrijfstijl en notatie over, evenals zijn manieren, het gebruik van een vulpen en af en toe zelfs zijn soort sandalen.

Dijkstra's manuscripts show an elegant and distinct handwriting, which has been copied by many of his peers and admirers.
Dijkstra's manuscripts show an elegant and distinct handwriting, which has been copied by many of his peers and admirers.

Gewoon proza

De elegantie van zijn schrijfstijl was ongeëvenaard. Hij kon over formele kwesties schrijven in de vorm van een essay waarin nauwelijks formules voorkwamen. Zijn artikel "Cooperating Sequential Processes" is daar misschien wel het beste voorbeeld van. Op dezelfde manier wist hij ingewikkelde algoritmen op het gebied van gedistribueerde informatica op een schijnbaar informele manier te bespreken, in eenvoudige proza, met slechts een paar eenvoudige formules. Hij schreef zijn artikelen in een unieke stijl die gekenmerkt werd door beknoptheid, een economische opbouw van de argumentatie en helderheid van uiteenzetting. Elke zin was zorgvuldig uitgewerkt. Elke alinea was indrukwekkend.

De elegantie van zijn schrijfstijl werd geëvenaard door zijn handschrift. Het was zelfs zo kenmerkend en perfect dat Luca Cardelli, destijds werkzaam bij het DEC Systems Research Center in Californië, eind jaren tachtig een ‘Dijkstra’-lettertype ontwierp voor desktopcomputers. Kort daarna ontving Dijkstra een brief die in dit lettertype was gezet; hij dacht aanvankelijk dat deze met de hand was geschreven, totdat hij hoorde over de ontwikkeling van dit lettertype. Sommige collega’s van Dijkstra gebruikten dit lettertype af en toe in hun diapresentaties tijdens de afdelingsvergaderingen in Austin.

Licht in de duisternis

Dijkstra’s belangrijkste prestaties werden al vroeg in zijn carrière erkend. In 1972 ontving hij de hoogste onderscheiding op het gebied van de informatica, de ACM Turing Award. Hij was buitenlands erelid van de American Academy of Arts and Sciences, lid van de Koninklijke Nederlandse Akademie van Wetenschappen (KNAW) en ontving de titel doctor honoris causa van de Queen’s University Belfast in Noord-Ierland en de Athens University of Economics & Business in Griekenland. Daarnaast ontving hij gedurende een periode van 30 jaar talrijke andere prijzen en onderscheidingen, waarvan sommige nog maar een paar weken voor zijn overlijden op 6 augustus 2002.

Het is dan ook niet verwonderlijk dat zijn overlijdensbericht in een aantal kranten verscheen, waaronder de New York Times, The Washington Post en The Guardian. Zoals J. Strother Moore, de voorzitter van de afdeling Computerwetenschappen in Austin, tijdens de begrafenis van Dijkstra zei: ‘Hij was als een man met een licht in de duisternis. Hij wierp licht op vrijwel elk onderwerp dat hij besprak.’

Bronvermeldingen

Denken als discipline (Denken als discipline)