Edsger Dijkstra

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
E.W. Dijkstra (2002)

Edsger Wybe Dijkstra (Rotterdam, 11 mei 1930Nuenen, 6 augustus 2002) was een Nederlandse wiskundige en informaticus. Zijn werk was van groot belang voor de ontwikkeling van de informatica, met name op het gebied van gestructureerd programmeren. In 1972 werd hij onderscheiden met de Turing Award en in 2002 met de daarna naar hem vernoemde Dijkstraprijs.[1]

Biografie[bewerken]

Dijkstra studeerde aan de Leidse Universiteit, waar hij in 1951 zijn kandidaats haalde in wiskunde en natuurkunde, en in 1956 afstudeerde in de theoretische natuurkunde.

Van 1952 tot 1962 werkte Dijkstra bij het Mathematisch Centrum te Amsterdam als wetenschappelijk programmeur, waar hij was aangenomen om de ARRA I te programmeren. Later ontwikkelde hij ook de programmatuur voor de ARMAC. In zijn tijd bij het CWI werkte hij onder meer aan een compiler voor de programmeertaal Algol-60. Bij dit werk kreeg hij zijn baard: hij en zijn medewerker Jaap Zonneveld hadden afgesproken zich niet te scheren tot het werk klaar was. Hij schreef zijn proefschrift in 1958.[2] Een jaar later ontwikkelde hij het naar hem vernoemde kortstepadalgoritme.

Vanwege de diepe indruk die hij als wetenschappelijk programmeur maakte, werd Dijkstra in 1962 benoemd tot hoogleraar aan de Technische Hogeschool Eindhoven, waar hij tot 1984 bleef werken. In deze tijd ging zijn aandacht uit naar de kunst en wetenschap van de ontwikkeling van het computerprogramma op mathematische grondslag (wat trouwens ook de titel was van een van de vakken die hij doceerde). In 1972 ontving hij de Turing Award voor zijn bijdragen aan de informatica in de jaren 1950. Vanaf 1982 was hij ook een fellow van de Burroughs Corporation.

In 1984 verruilde Dijkstra Eindhoven voor de Universiteit van Texas te Austin in de VS. Daar zette hij zijn werk voort, vaak nog in samenwerking met zijn oud-collegae en studenten uit Nederland. Dijkstra bleef daar werken tot zijn emeritaat in 1999. Zowel gedurende zijn werk in de VS als na zijn emeritaat maakte Dijkstra samen met zijn vrouw lange reizen door de staats- en nationale parken van dat land. Hiervoor gebruikten zij hun Volkswagenbusje, dat zij grappend de "Touring Machine" (woordspeling op Turing Machine) noemden.

Dijkstra stierf op 72-jarige leeftijd in Nuenen aan darmkanker.

Bijdragen aan de Informatica[bewerken]

Dijkstra heeft in zijn carrière een bijzonder grote bijdrage geleverd aan de informatica, zowel in het aantal als in de reikwijdte van zijn bijdragen. Zijn wetenschappelijk oeuvre bedraagt ruim 1.300 publicaties. Daaronder vallen ook zijn beroemde EWD's (naar zijn initialen). Dit waren documenten die hij voor zichzelf schreef, maar vrij beschikbaar stelde. Fotokopieën ervan vonden hun weg over de wereld en tegenwoordig zijn vele van deze handgeschreven teksten gescand. Van veel EWD's zijn transcripties beschikbaar in het E.W.Dijkstra Archive van de Universiteit van Texas.[3]

Dijkstra behandelt compilerbouw, ontwerp van besturingssystemen, ontwerp van programmeertalen en algoritmiek, maar zijn grootste bijdrage aan het vakgebied betrof ongetwijfeld de wiskundige fundamenten van de informatica. Met name daarvoor vond Dijkstra samen met zijn studenten in 1962 enorme inspiratie in een publicatie over predicatencalculus van Tony Hoare. Met deze axiomatische basis voor de ontwikkeling van computerprogramma's heeft Dijkstra richting gegeven aan de gehele informatica en het vakgebied verheven van een aanmodder-gebeuren tot een echte wetenschap. Dijkstra wordt dan ook beschouwd als een van de echte vaders van de informatica en als een directe opvolger van mensen als Alan Turing.

Dijkstra was een sterke tegenstander van de GOTO-opdracht en heeft een belangrijke rol gespeeld bij de vervanging daarvan door functies, lussen en dergelijke structuren. Desalniettemin bevatte de door Dijkstra geschreven broncode van Pascal-S vele GOTO's. Hij was een belangrijk lid van de groep die de programmeertaal Algol-60 ontwikkelde, en schreef voor die taal de eerste praktische compiler. Hij heeft nog vele andere bijdragen aan de ontwikkeling van programmeertalen en besturingssystemen geleverd.

Aforismen[bewerken]

Naast zijn wetenschappelijke werk was Dijkstra beroemd om zijn gevleugelde (en soms bitse) commentaren op de praktijk van zijn vakgebied, zoals

  • "APL is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past: it creates a new generation of coding bums."
  • "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
  • "The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence."
  • "In their capacity as a tool, computers will be but a ripple on the surface of our culture. In their capacity as intellectual challenge, they are without precedent in the cultural history of mankind."
  • "Simplicity is prerequisite for reliability."
  • "The question of whether Machines Can Think (…) is about as relevant as the question of whether Submarines Can Swim."
  • "It is not the task of the University to offer what society asks for, but to give what society needs."

Dijkstra als docent[bewerken]

Dijkstra stond bekend als een charismatisch onderwijzer. Zijn geschriften zijn zeer leesbaar. De voorbeelden die hij gebruikt zijn vaak heel aansprekend en illustratief. Het probleem van samenwerkende processen illustreerde hij bijvoorbeeld aan de hand van een kapsalon.

De kapsalon[bewerken]

De kapsalon bestaat uit een wachtkamer en een salon. Als er geen klanten zijn gaat de kapper slapen. De gedragsregels voor de kapper zijn:

  • zolang er klanten zijn: knip een klant in de salon
  • anders: ga slapen in de wachtkamer

En de gedragsregels voor de klanten:

  • als de kapper slaapt: maak hem wakker
  • anders: blijf wachten in de wachtkamer

De crux zit in het slapen van de kapper in de wachtkamer. Bij een onzichtbaar slapende kapper ziet de klant geen verschil tussen een kapper die bezig is in de salon en een kapper die in de salon zit te slapen.

De wolf, het schaap en de kool[bewerken]

Een ander voorbeeld was het probleem van "De wolf, het schaap en de kool", aan de hand waarvan hij illustreerde hoe behoud van symmetrie in een ontwerp het oplossen van problemen makkelijker maakt.

Het probleem van de wolf, het schaap en de kool is een bekend probleem voor kinderen: een herder heeft een wolf, een schaap en een kool. Hij komt bij een rivier met een boot waarmee hij zichzelf en één ander ding over kan zetten. Hoe komt hij nu met heel de handel aan de andere kant zonder ongewenste consumptie?

De oplossing ligt erin te beseffen dat het probleem symmetrisch is in het schaap en dat de wolf en de kool eigenlijk hetzelfde ding zijn: ze mogen niet alleen met het schaap achter blijven. Noemen we nu het schaap S, de herder H en de wolf en de kool allebei A en voeren we ook de regel in dat we geen stappen terug mogen nemen bij het overvaren, dan is het probleem opgelost en is er nog maar één oplossing. Beschreven als een lijst van opeenvolgende toestanden op de linker en rechter oever, waarbij A(2) staat voor "twee A elementen":

LINKS RECHTS
0) HSA(2) -
1) A(2) HS
2) HA(2) S
3) A HAS
4) HAS A
5) S HA(2)
6) HS A(2)
7) - HSA(2)

Zie ook[bewerken]

Externe links[bewerken]

Bronnen, noten en/of referenties
  1. Dijkstra PODC
  2. Communication with an automatic computer (proefschrift). cs, universiteit van Texas, bezocht 21-1-2014.
  3. (en) E.W.Dijkstra Archive Geraadpleegd 24 november 2012
Wikiquote Wikiquote heeft een collectie Engelse citaten gerelateerd aan: Edsger Dijkstra