# Edsger W. Dijkstra

Edsger Wybe Dijkstra (ˈɛtˌsxər 'ʋibə ˈdɛɪkˌstra anhören; * 11. Mai 1930 in Rotterdam; † 6. August 2002 in Nuenen) war ein niederländischer Informatiker. Er war der Wegbereiter der strukturierten Programmierung. 1972 erhielt er den Turing Award für grundlegende Beiträge zur Entwicklung von Programmiersprachen.

## Leben

Edsger Dijkstra wurde als Sohn eines Chemikers und einer Mathematikerin geboren. Nach dem Besuch des Gymnasiums Erasmianum in Rotterdam studierte er ab 1948 Mathematik und theoretische Physik an der Universität Leiden. 1951 erreichte er den Bachelor-Grad und besuchte im Anschluss einen Programmierkurs bei Maurice V. Wilkes an der University of Cambridge. Er setzte sein Studium in Leiden fort, arbeitete fortan aber nebenbei am Mathematisch Centrum (heute Centrum Wiskunde & Informatica – Zentrum für Mathematik und Informatik) in Amsterdam. Sein Betreuer dort war Direktor Adriaan van Wijngaarden, der ihn auch überredete, gänzlich zum Programmieren zu wechseln, statt mit voller Kraft theoretische Physik zu treiben. 1956 erreichte er den Master-Grad und ging als Vollzeitangestellter zum Mathematisch Centrum. Dijkstra wird als erster Programmierer der Niederlande bezeichnet und schrieb 1959 an der Universität von Amsterdam seine Doktorarbeit über die vom Mathematisch Centrum entwickelte Electrologica X1, deren grundlegende Software er schrieb.
1962 wurde Dijkstra Mathematikprofessor an der Technischen Hochschule Eindhoven. An anderswo bereits angebotene Informatik-Lehrstühle wollte er nicht, da er hierfür noch keine ausreichende wissenschaftliche Grundlage sah. Dennoch bot er seinen Studenten die Möglichkeit, sich nach mindestens drei Jahren mathematischem Studium auf Themen der Informatik zu spezialisieren. Er blieb weiter der Ansicht, dass ein Studium der Informatik stark mathematisch geprägt und etwa ein Einführungskurs für Programmierung eine formalmathematische Veranstaltung frei von Programmiersprachen zu sein habe. Ab 1973 schränkte er seine Tätigkeit an der Universität auf eine außerordentliche Professorenstelle, repräsentiert durch den von ihm etablierten Eindhoven Tuesday Afternoon Club, ein, wo er dienstagnachmittags mit Kollegen wissenschaftliche Probleme und die neuesten Veröffentlichungen besprach, und wurde hauptamtlich Research Fellow der Burroughs Corporation. 1984 wechselte er auf den Schlumberger Centennial Chair in Computer Sciences an der University of Texas at Austin. 1999 wurde er emeritiert.
Dijkstra starb an Krebs in seinem Heim in Nuenen. Er hinterließ seine Frau Ria, welche er 1957 geheiratet hatte, sowie drei Kinder.
Zu seinen Doktoranden gehören Arie Habermann und Martin Rem.

## Wirken

Unter seinen Beiträgen zur Informatik finden sich der Dijkstra-Algorithmus zur Berechnung eines kürzesten Weges in einem Graphen (1959 in einem dreiseitigen Artikel veröffentlicht), die erstmalige Einführung von Semaphoren zur Synchronisation zwischen Threads und das damit zusammenhängende Philosophenproblem sowie der Bankieralgorithmus. Des Weiteren stammt von ihm der Shunting-yard-Algorithmus, ein Algorithmus für die Überführung mathematischer Terme von der Infixnotation in die umgekehrte polnische Notation oder in einen abstrakten Syntaxbaum.
Basierend auf diesen Erfahrungen entwarf er das Multitasking-Betriebssystem THE (nach Technische Hogeschool Eindhoven), das für seine Schichtenstruktur bekannt wurde. Niklaus Wirth berichtet, dass Dijkstra im Rahmen dieser Arbeit erkannte, nicht für Teamarbeit geeignet zu sein, und fortan nur noch alleine arbeitete.
Ende der 1950er Jahre war Dijkstra am Entwurf von Algol 60 beteiligt, 1960 stellte er den ersten Compiler dafür fertig. Ferner entwarf er den Sortieralgorithmus Smoothsort und entdeckte den Algorithmus von Prim (auch Prim-Dijkstra-Algorithmus oder Algorithmus von Jarnik, Prim und Dijkstra) wieder.
Dijkstra schrieb über 1300 Manuskripte fachlicher und privater Natur, die er fotokopierte und jeweils an etliche Kollegen postalisch versendete, meist aber nicht veröffentlichte. Heute sind viele dieser sogenannten EWD-Manuskripte (nach seinen Initialen) in einem Online-Archiv gesammelt. Für die Burroughs Corporation schrieb er über 500 wissenschaftliche Berichte. Seine populärste Abhandlung ist Go To Statement Considered Harmful über den Goto-Befehl und warum er nicht benutzt werden sollte. Er führte den Begriff der strukturierten Programmierung in die Informatik ein und popularisierte in seiner Turing-Lecture The Humble Programmer auch den Begriff der Softwarekrise, den er als regelmäßiger Redner an Friedrich L. Bauers International Summer School Marktoberdorf dort aufgenommen hatte.

## Auszeichnungen (Auswahl)

* 1971: Mitglied der Königlich-Niederländischen Akademie der Wissenschaften
* 1971: Distinguished Fellow der British Computer Society
* 1972: Turing Award
* 1975: Auslands-Ehrenmitglied der American Academy of Arts and Sciences
* 1976: Ehrendoktortitel der Queen’s University of Belfast
* 1982: Computer Pioneer Award der IEEE
* 2001: Ehrendoktortitel der Wirtschaftsuniversität Athen
* 2002: C&C-Preis der NEC Corporation
* 2002: Dijkstra-Preis, der PODC Influential Paper Award, der nach seinem Tod ihm zu Ehren benannt wurde.

## Schriften (Auswahl)

* A Note on Two Problems in Connexion with Graphs. Numerische Mathematik 1 (1959), S. 269–271
* Go To Statement Considered Harmful. Communications of the ACM 11, 3 (1968), S. 147–148 (PDF)
* Cooperating sequential processes. In: F. Genuys (Hrsg.): Programming Languages: NATO Advanced Study Institute. Academic Press, 1968, S. 43–112.
* Mit Ole-Johan Dahl und Tony Hoare: Structured Programming. Academic Press, London, 1972, ISBN 0-12-200550-3 (enthält auch die 1970 geschriebenen und zuvor unveröffentlichten Notes on Structured Programming)
* Selected Writings on Computing: A Personal Perspective. Springer NY (1982)
* Mit Carel S. Scholten: Predicate Calculus and Program Semantics. Springer-Verlag, 1990, ISBN 0-387-96957-8