Tagoror  

Encyclopedie




Edsger Dijkstra

Edsger Wybe Dijkstra (Rotterdam, 11 mei 1930 - Nuenen 6 augustus 2002) was een Nederlandse informaticus die veel voor de informatica heeft gedaan, met name op het gebied van gestructureerd programmeren.

Table of contents
1 Curriculum Vitae
2 Bijdragen aan de Informatica
3 Voorbeelden
4 Zie ook
5 Externe links

Curriculum Vitae

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. In die tijd werkte hij ondermeer aan een compiler voor de programmeertaal Algol 60 (hij bouwde later ook de enig bekende, correcte compiler voor de opvolgende taal Algol 68). Ook ontwikkelde hij hier, in 1957, zijn wereldberoemde kortste pad algoritme -- ook bekend als Dijkstra's algorithm.

Vanwege de diepe indruk die hij in dit beroep maakte, werd Dijkstra in 1962 benoemd tot hoogleraar aan de Technische Hogeschool Eindhoven (THE). 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 één 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 (nite toevallig de leverancier van het mainframe van de THE

In 1984 verruilde Dijkstra de TU/e voor de University of Texas te Austin, Texas in de VS. Daar zette hij zijn werk voort, vaak nog in samenwerking met zijn oud-collegae en leerlingen 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 Volkswagen busje, dat zij grappend de "Touring Machine" (woordspeling op Turing Machine) noemden.

Dijkstra stierf op 6 augustus 2002 te Nuenen aan darmkanker.

Bijdragen aan de Informatica

Dijkstra heeft in zijn carrière een bijzonder grote bijdrage geleverd aan de informatica, zowel in aantal als in weidsheid van zijn bijdragen. Zijn wetenschappelijk epos bedraagt ruim 1300 publicaties (waaronder zijn beroemde EWD-documenten) en beslaat 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 een directe opvolger van mensen als Alan Turing.

Dijkstra was een sterke tegenstander van het GOTO statement, en heeft een belangrijke rol gespeeld bij de vervanging daarvan door functiess, loops en dergelijke structuren. 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.

Daarnaast was Dijkstra beroemd om zijn gevleugelde (en soms bitse) commentaren op de praktijk van zijn vakgebied. Bekende voorbeelden hiervan zijn "software engineering is computing science for those who can't" en "the knowledge of COBOL is so detrimental to the teaching of computing science practice that its teaching should be marked as an offense against humanity".

Voorbeelden

Dijkstra was een charismatisch onderwijzer. Zijn geschriften zijn zeer leesbaar. De voorbeelden die hij gebruikt zijn vaak heel aansprekend en illustratief. Hij illustreerde het probleem van samenwerkende processen bijvoorbeeld aan de hand van een kapsalon.
De kapsalon bestaat uit een wachtkamer en de kapsalon zelf. Als er geen klanten zijn gaat de kapper slapen.
De gedragsregels voor de kapper zijn:

En voor de klanten:
  • als de kapper slaapt
    • maak hem wakker
  • anders
    • wacht
De crux zit in het slapen in de wachtkamer. Anders ziet de klant geen verschil tussen een kapper die bezig is en een kapper die slaapt

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) HASA 5) S HA(2) 6) HS A(2) 7) - HSA(2)

(Het voorbeeld van het schaap, de wolf en de kool werd door Edsger Dijkstra uitgesproken aan de TUE in oktober 1999 ter gelegenheid van het lustrum van GEWIS).

Zie ook

Externe links

zh-cn:艾兹格·W·迪科斯彻



Tagoror Networks: Spain  |  Philippines  |  Mexico

Los documentos de esta enciclopedia on line se publican bajo la Licencia de Documentación Libre GNU

De tekst is beschikbaar onder de licentie Creative Commons Naamsvermelding/Gelijk delen, er kunnen aanvullende voorwaarden van toepassing zijn.