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 die veel voor de informatica heeft gedaan, met name op het gebied van gestructureerd programmeren. In 1972 werd hij onderscheiden met de Turing Award.

Inhoud

[bewerken] Biografie

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 die tijd 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 bouwde later ook de enig bekende, correcte compiler voor de opvolgende taal Algol-68. Ook ontwikkelde hij hier in 1957 zijn wereldberoemde kortstepadalgoritme – ook bekend als Dijkstra's algoritme.

Vanwege de diepe indruk die hij als wetenschappelijk programmeur maakte, werd Dijkstra in 1962 benoemd tot hoogleraar aan de Technische Universiteit Eindhoven (TU/e). Hij bleef hier werkzaam tot 1984. 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 de TU/e voor de universiteit van Texas te Austin (Texas, VS). Daar zette hij zijn werk voort, vaak nog in samenwerking met zijn oud-collegae en studenten uit Nederland. Dijkstra bleef aan de Texas-U 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.

[bewerken] Bijdragen aan de Informatica

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 (waaronder zijn beroemde EWD-documenten) en behandelt compilerbouw, ontwerp van besturingssystemen, ontwerp van programmeertalen, algoritmiek en vooral de wiskundige fundamenten van de informatica (ongetwijfeld zijn grootste bijdrage aan het vakgebied).

Met name op het laatste gebied 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 hij 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.

[bewerken] Aforismen

Naast zijn wetenschappelijke werk was Dijkstra beroemd om zijn gevleugelde (en soms bitse) commentaren op de praktijk van zijn vakgebied. Een bekend voorbeeld hiervan is: "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." Andere opmerkingen zijn

  • "The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence."
  • "Computer science is no more about computers than astronomy is about telescopes."
  • "The question of whether computers can think is like the question of whether submarines can swim."
  • "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."

[bewerken] Dijkstra als docent

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.

[bewerken] De kapsalon

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.

[bewerken] De wolf, het schaap en de kool

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:

   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)

[bewerken] Zie ook

[bewerken] Externe links

 
Persoonlijke instellingen
Boek maken