---
query:
pages:
-
pageid: 10018
ns: 0
title: Edsger W. Dijkstra
revisions:
-
*: |
{{Infobox_Scientist
| name = Edsger Wybe Dijkstra
| image =
| image_width = 150px
| caption =
| birth_date = {{Birth date|1930|05|11}}
| birth_place = [[Rotterdam]], [[Netherlands]]
| death_date = {{death date and age|2002|8|6|1930|05|11}}
| death_place = [[Nuenen]], [[Netherlands]]
| residence =
| citizenship =
| nationality =
| ethnicity =
| field = [[Computer science]]
| work_institutions = [[National Research Institute for Mathematics and Computer Science|Mathematisch Centrum]]
[[University of Texas at Austin|The University of Texas at Austin]]
| alma_mater =
| doctoral_advisor =
| doctoral_students =
| known_for = [[Dijkstra's algorithm]]
''[[Goto|Goto Considered Harmful]]''
[[THE multiprogramming system]]
[[Semaphore (programming)|Semaphore]]
| prizes = [[Turing Award]]
[[Association for Computing Machinery]]
| religion =
| footnotes =
}}
'''Edsger Wybe Dijkstra''' ([[May 11]], [[1930]] – [[August 6]], [[2002]]; {{pronounced|ˈɛtsxər ˈwibə ˈdɛɪkstra}}) was a [[Netherlands|Dutch]] [[computer science|computer scientist]]. He received the 1972 [[Turing Award|A. M. Turing Award]] for fundamental contributions in the area of programming languages, and was the Schlumberger Centennial Chair of Computer Sciences at [[University of Texas at Austin|The University of Texas at Austin]] from 1984 until 2000.
Shortly before his death in 2002, he received the [[Association for Computing Machinery|ACM]] PODC Influential Paper Award in distributed computing for his work in the subarea of [[self-stabilization]]. This annual award was renamed the [[Dijkstra Prize]] the following year, in his honour.
==Life and work==
Born in [[Rotterdam]], Dijkstra studied [[Physics|theoretical physics]] at [[Leiden University]], but he quickly realized he was more interested in computer science.
Originally employed by the [[National Research Institute for Mathematics and Computer Science|Mathematisch Centrum]] in Amsterdam, he held a professorship at the [[Eindhoven University of Technology]] in the Netherlands, worked as a research fellow for [[Burroughs Corporation]] in the early 1970s, and later held the Schlumberger Centennial Chair in Computer Sciences at [[The University of Texas at Austin]], in the United States. He retired in 2000.
Among his contributions to computer science is the ''[[shortest path problem|shortest path]]-[[algorithm]]'', also known as ''[[Dijkstra's algorithm]]'', ''[[Reverse Polish Notation]]'' and related ''[[Shunting yard algorithm]]'', the [[THE (operating system)|THE multiprogramming system]], ''[[Banker's algorithm]]'', the concept of [[Ring (computer security)|operating system rings]] and the [[Semaphore (programming)|semaphore]] construct, for coordinating multiple processors and programs. Another concept due to Dijkstra in the field of distributed computing is that of [[self-stabilization]] – an alternative way to ensure the reliability of the system. Dijkstra's algorithm is used in SPF, [[Shortest Path First]], which is used in the routing protocol OSPF, [[Open Shortest Path First]].
He was also known for his low opinion of the [[GOTO]] statement in [[computer programming]], writing a paper in 1965, and culminating in the 1968 article "[http://www.cs.utexas.edu/users/EWD/transcriptions/EWD02xx/EWD215.html A Case against the GO TO Statement]" (EWD215), regarded as a major step towards the widespread deprecation of the [[GOTO]] statement and its effective replacement by [[control structures|structured control constructs]], such as the [[while loop]]. This methodology was also called [[structured programming]]. The March 1968 ACM letter's famous title, "Go To Statement [[considered harmful|Considered Harmful]]",
[
"Go To Statement [[considered harmful|Considered Harmful]]",
''Communications of the ACM'', Vol. 11, No. 3,
March 1968, pp. 147-148.
]
was not the work of Dijkstra, but of [[Niklaus Wirth]], then editor of ''[[Communications of the ACM]]''. Dijkstra was known to be a fan of [[ALGOL|ALGOL 60]], and worked on the team that implemented the first [[compiler]] for that language. Dijkstra and [[Jaap Zonneveld]], who collaborated on the compiler, agreed not to shave until the project was completed. Zonneveld eventually shaved off his beard; Dijkstra kept his until his death.
He also wrote two important papers in 1968, devoted to the structure of the multiprogramming systems and to cooperating sequential processes.
He is famed for coining the popular programming phrase "2 or more, use a for", alluding to the fact that when you find yourself processing more than one instance of a data structure, it is time to encapsulate that logic inside a loop.
From the 1970s, Dijkstra's chief interest was [[formal verification]]. The prevailing opinion at the time was that one should first write a program and then provide a [[mathematical proof]] of [[correctness]]. Dijkstra objected that the resulting proofs are long and cumbersome, and that the proof gives no insight as to how the program was developed. An alternative method is ''[[program derivation]]'', to "develop proof and program hand in hand". One starts with a mathematical ''specification'' of what a program is supposed to do and applies mathematical transformations to the specification until it is turned into a program that can be executed. The resulting program is then known to be ''correct by construction''. Much of Dijkstra's later work concerns ways to streamline mathematical argument. In a 2001 interview, he stated a desire for "elegance", whereby the correct approach would be to process thoughts mentally, rather than attempt to render them until they are complete. The analogy he made was to contrast the compositional approaches of [[Wolfgang Amadeus Mozart|Mozart]] and [[Ludwig van Beethoven|Beethoven]].
Dijkstra was known for his essays on programming; he was the first to make the claim that programming is so inherently difficult and complex that programmers need to harness every trick and abstraction possible in hopes of managing the complexity of it successfully. He was also known for his habit of carefully composing manuscripts with his fountain pen. The manuscripts are called EWDs, since Dijkstra numbered them with ''EWD'' as prefix. Dijkstra would distribute photocopies of a new EWD among his colleagues; as many recipients photocopied and forwarded their copy, the EWDs spread throughout the international computer science community. The topics are mainly computer science and mathematics, but also include trip reports, letters, and speeches. More than 1300 EWDs have since been scanned, with a growing number also transcribed to facilitate search, and are available online at the Dijkstra archive of the University of Texas[University of Texas [http://www.cs.utexas.edu/users/EWD/ online EWD archive].].
Dijkstra was one of the very early pioneers of the research on distributed computing. Some people even consider some of his papers to be those that established the field. In particular, his paper "Self-stabilizing Systems in Spite of Distributed Control" started the sub-field of [[self-stabilization]].
Dijkstra believed that computer science was more abstract than programming; he once said, "Computer Science is no more about computers than astronomy is about telescopes." Having invented much of the technology of software, Dijkstra eschewed the use of computers in his own work for many decades. Almost all EWDs appearing after 1972 were hand-written. Even after he succumbed to his UT colleagues’ encouragement and acquired a [[Macintosh]] computer, he used it only for e-mail and for browsing the World Wide Web.[University of Texas, [http://www.utexas.edu/faculty/council/2002-2003/memorials/Dijkstra/dijkstra.html "In Memoriam Edsger Wybe Dijkstra."]]
He died in [[Nuenen]], [[The Netherlands]] on [[August 6]] [[2002]] after a long struggle with [[cancer]]. The following year, the ACM ([[Association for Computing Machinery]]) PODC Influential Paper Award in distributed computing was renamed the [[Dijkstra Prize]] in his honour.
==Awards and honours==
Among Dijkstra's awards and honours are:
* Member of the [[Royal Netherlands Academy of Arts and Sciences]] (1971)
* Distinguished Fellow of the [[British Computer Society]] (1971)
* The ACM's A.M. Turing Award (1972)
* Foreign Honorary Member of the [[American Academy of Arts and Sciences]] (1975)
* Doctor of Science Honoris Causa from the [[Queen's University Belfast]] (1976)
* Computer Pioneer Charter Recipient from the [[IEEE Computer Society]] (1982)
* Honorary doctorate from the [[Athens University]], Greece (2001).
==Legacy==
The title of his 1972 book, ''[[Structured programming|Structured Programming]]'', coauthored with [[C.A.R. Hoare]], became the term used to describe a major style of programming in computer software.
As a college professor, Edsger Dijkstra's legacy is difficult to determine, considering his effect on numerous college students and technical publications.
He is remembered by some as a troubling figure. Many of his writings offended people, although not by name but instead by description in such a way that other computer scientists saw themselves characterised, in various EWD communications, as anti-intellectual time-servers enslaved by major corporations, and these computer scientists naturally took umbrage at what seemed to be literary and essayistic hyperbole.
Some of his work remains cutting edge to this day, notably on multiprocessing. At other times he seems to have pursued pure mathematics without being a member of the rather close-knit international mathematical fraternity and may as a result have been the first to discover fascinating and elegant new proofs of things already known. Here, the warnings of his family and university teachers may have had some validity; they felt that by wanting to be a computer programmer and not a professor of mathematics, Dijkstra was violating a family and social tradition for a tradesman's occupation, and indeed Dijkstra returned to academic life with apparent relief after encountering corporate thinking.
The 2007 edition of Beautiful Code (a book of essays on programming projects thought to exhibit elegance, published by O'Reilly Press and edited by Andy Oram and Greg Wilson) fails to mention Dijkstra.
[[Andrzej Sapkowski]], Polish fantasy writer, used Dijkstra's name for one of the main characters in the five book "Saga" about ''[[The Hexer]]''.
==See also==
* [[Dijkstra's algorithm]]
* [[Dining philosophers problem]]
* "[[The Cruelty of Really Teaching Computer Science]]"
* [[Shunting yard algorithm]]
==Footnotes==
{{reflist}}
==References==
===Writings by E.W. Dijkstra===
* {{cite journal |last=Dijkstra |first=E. W. |title=Letters to the editor: go to statement considered harmful |journal=[[Communications of the ACM]] |volume=11 |issue=3 |month=March |year=1968 |pages=147–148 |issn=0001-0782 |doi=10.1145/362929.362947 }} (EWD215)
* {{cite journal |last=Dijkstra |first=E. W. |title=How do we tell truths that might hurt? |url=http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html |journal=[[SIGPLAN|SIGPLAN Notice]] |volume=17 |issue=5 |month=May |year=1982 |pages=13–15 |issn=0362-1340 |doi=10.1145/947923.947924 }} (EWD498)
* [http://www.cs.utexas.edu/users/EWD/transcriptions/EWD11xx/EWD1166.html ''From My Life'' (EWD1166)]
* ''A Discipline of Programming'', Prentice-Hall Series in Automatic Computation, 1976, ISBN 0-13-215871-X
* ''Selected Writings on Computing: A Personal Perspective'', Texts and Monographs in Computer Science, Springer-Verlag, 1982, ISBN 0-387-90652-5
* ''A Method of Programming'', E.W. Dijkstra, W.H.J. Feijen, J. Sterringa, Addison Wesley 1988, ISBN 0-201-17536-3
===Others about Dijkstra, eulogies===
* [http://web.archive.org/web/20041206193322/www.digidome.nl/edsger_wybe_dijkstra.htm Biography] Digidome
* [http://homepages.cwi.nl/~apt/ps/dijkstra.pdf ''Edsger Wybe Dijkstra (1930–2002): A Portrait of a Genius''] ([[Portable Document Format|PDF]]) Obituary in ''[[Formal Aspects of Computing]]'' with a short biography
* [http://www.cs.utexas.edu/users/EWD/memorial/gries.html ''How can we explain Edsger W. Dijkstra to those who didn't know him?''] by David Gries
* [http://www.cs.utexas.edu/users/EWD/memorial/moore.html Dijkstra Eulogy] by J Strother Moore
* [http://www.cs.rutgers.edu/~szegedy/dijkstra.html In Memoriam Edsger Wybe Dijkstra] by Mario Szegedy
* [http://www.adeptis.ru/vinci/m_part7.html Photos of Edsger Dijkstra]
==External links==
{{wikiquote}}
* [http://www.cs.utexas.edu/users/EWD/ E. W. Dijkstra Archive]
* [http://noorderlicht.vpro.nl/afleveringen/3502225/ Noorderlicht Interview Video, bandwidth options]
{{Turing award}}
{{Persondata
|NAME=Dijkstra, Edsger
|ALTERNATIVE NAMES=
|SHORT DESCRIPTION=Dutch mathematician
|DATE OF BIRTH={{birth date|1930|5|11|mf=y}}
|PLACE OF BIRTH=[[Rotterdam]]
|DATE OF DEATH={{death date|2002|8|6|mf=y}}
|PLACE OF DEATH=[[Nuenen]], [[The Netherlands]]
}}
{{DEFAULTSORT:Dijkstra, Edsger}}
[[Category:1930 births]]
[[Category:2002 deaths]]
[[Category:Computer pioneers]]
[[Category:Dutch computer scientists]]
[[Category:Dutch physicists]]
[[Category:Fellows of the Association for Computing Machinery]]
[[Category:Formal methods people]]
[[Category:Turing Award laureates]]
[[Category:Leiden University alumni]]
[[Category:University of Texas at Austin faculty]]
[[Category:People from Rotterdam]]
[[Category:Programming language designers]]
[[Category:Programming language researchers]]
[[ast:Edsger Dijkstra]]
[[bn:এট্সখার ডেইক্স্ট্রা]]
[[bs:Edsger Dijkstra]]
[[bg:Едсхер Дейкстра]]
[[ca:Edsger Dijkstra]]
[[cs:Edsger Dijkstra]]
[[da:Edsger Dijkstra]]
[[de:Edsger Wybe Dijkstra]]
[[el:Έντσγκερ Ντάικστρα]]
[[es:Edsger Dijkstra]]
[[eo:Edsger Dijkstra]]
[[fr:Edsger Dijkstra]]
[[ga:Edsger Dijkstra]]
[[ko:에츠허르 데이크스트라]]
[[hr:Edsger Dijkstra]]
[[id:Edsger Dijkstra]]
[[it:Edsger Dijkstra]]
[[he:אדסחר דייקסטרה]]
[[lb:Edsger W. Dijkstra]]
[[hu:Edsger Wybe Dijkstra]]
[[ml:എഡ്ഗര് ഡൈക്സ്ട്രാ]]
[[nl:Edsger Dijkstra]]
[[ja:エドガー・ダイクストラ]]
[[pl:Edsger Dijkstra]]
[[pt:Edsger Dijkstra]]
[[ro:Edsger Dijkstra]]
[[ru:Дейкстра, Эдсгер Вибе]]
[[sk:Edsger Wybe Dijkstra]]
[[sr:Едсхер Дајкстра]]
[[fi:Edsger Dijkstra]]
[[sv:Edsger Dijkstra]]
[[vi:Edsger Dijkstra]]
[[tr:Edsger Dijkstra]]
[[zh:艾兹格·迪科斯彻]]