All Topics  
Edsger Dijkstra

 
Edsger Dijkstra

   Email Print
   Bookmark   Link






 

Edsger Dijkstra



 
 
Edsger Wybe Dijkstra (May 11, 1930 – August 6, 2002; ) was a Dutch
Netherlands

The Netherlands is a country that is part of the Kingdom of the Netherlands. It is a parliamentary democratic constitutional monarchy. The Netherlands is located in North-West Europe, and bordered by the North Sea to the north and west, Belgium to the south, and Germany to the east....
 computer scientist
Computer science

Computer science is the study of the theoretical foundations of information and computation, and of practical techniques for their implementation and application in computer systems....
. He received the 1972 A. M. Turing Award
Turing Award

The A. M. Turing Award is given annually by the Association for Computing Machinery to "an individual selected for contributions of a technical nature made to the computing community....
 for fundamental contributions in the area of programming languages, and was the Schlumberger
Schlumberger

Schlumberger Limited is the world's largest oilfield services corporation operating in approximately 80 countries, with about 87,010 people of 140 nationalities....
 Centennial Chair of Computer Sciences at The University of Texas at Austin
University of Texas at Austin

The University of Texas at Austin is a public university research university located in Austin, Texas, Texas, United States, and is the flagship#University campuses institution of University of Texas System....
 from 1984 until 2000.

Shortly before his death in 2002, he received the ACM
Association for Computing Machinery

The Association for Computing Machinery, or ACM, was founded in 1947 as the world's first scientific and educational computing society. Its membership was approximately 83,000 as of 2007....
 PODC Influential Paper Award in distributed computing for his work in the subarea of self-stabilization
Self-stabilization

Self-stabilization is a concept of fault-tolerance in distributed computing. Distributed computing systems are challenging to debug and analyze....
.






Discussion
Ask a question about 'Edsger Dijkstra'
Start a new discussion about 'Edsger Dijkstra'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Edsger Wybe Dijkstra (May 11, 1930 – August 6, 2002; ) was a Dutch
Netherlands

The Netherlands is a country that is part of the Kingdom of the Netherlands. It is a parliamentary democratic constitutional monarchy. The Netherlands is located in North-West Europe, and bordered by the North Sea to the north and west, Belgium to the south, and Germany to the east....
 computer scientist
Computer science

Computer science is the study of the theoretical foundations of information and computation, and of practical techniques for their implementation and application in computer systems....
. He received the 1972 A. M. Turing Award
Turing Award

The A. M. Turing Award is given annually by the Association for Computing Machinery to "an individual selected for contributions of a technical nature made to the computing community....
 for fundamental contributions in the area of programming languages, and was the Schlumberger
Schlumberger

Schlumberger Limited is the world's largest oilfield services corporation operating in approximately 80 countries, with about 87,010 people of 140 nationalities....
 Centennial Chair of Computer Sciences at The University of Texas at Austin
University of Texas at Austin

The University of Texas at Austin is a public university research university located in Austin, Texas, Texas, United States, and is the flagship#University campuses institution of University of Texas System....
 from 1984 until 2000.

Shortly before his death in 2002, he received the ACM
Association for Computing Machinery

The Association for Computing Machinery, or ACM, was founded in 1947 as the world's first scientific and educational computing society. Its membership was approximately 83,000 as of 2007....
 PODC Influential Paper Award in distributed computing for his work in the subarea of self-stabilization
Self-stabilization

Self-stabilization is a concept of fault-tolerance in distributed computing. Distributed computing systems are challenging to debug and analyze....
. This annual award was renamed the Dijkstra Prize
Dijkstra Prize

The Edsger W. Dijkstra Prize in Distributed Computing is given for outstanding papers on the principles of distributed computing, whose significance and impact on the theory and/or practice of distributed computing has been evident for at least a decade....
 the following year, in his honour.

Life and work

Born in Rotterdam
Rotterdam

Rotterdam ; city and municipality in the Netherlands province of South Holland, situated in the west of the Netherlands. The municipality is the List of cities in the Netherlands with over 100,000 people in the country, with a population of 584,046 on 1 January 2007 and comprises the southern part of the Randstad, the List of metropolitan are...
, Dijkstra studied theoretical physics
Physics

Physics is the natural science which examines basic concepts such as energy, force, and spacetime and all that derives from these, such as mass, charge, matter and its Motion ....
 at Leiden University
Leiden University

Leiden University , located in the city of Leiden, is the List of oldest universities in continuous operation#Oldest Universities by Region university in the Netherlands....
, but he quickly realized he was more interested in computer science. Originally employed by the Mathematisch Centrum
National Research Institute for Mathematics and Computer Science

The National Research Institute for Mathematics and Computer Science is one of the leading European research centers in the field of mathematics and theoretical computer science....
 in Amsterdam, he held a professorship at the Eindhoven University of Technology
Eindhoven University of Technology

The Eindhoven University of Technology is a University of Technology located in Eindhoven, the Netherlands. The motto of the university is: Mens agitat molem ....
 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
Shortest path problem

In graph theory, the shortest path problem is the problem of finding a path between two vertex such that the sum of the Glossary of graph theory#Weighted graphs and networks of its constituent edges is minimized....
-algorithm
Algorithm

In mathematics, computing, linguistics and related subjects, an algorithm is a sequence of finite instructions, often used for calculation and data processing....
, also known as Dijkstra's algorithm
Dijkstra's algorithm

Dijkstra's algorithm, conceived by Dutch computer scientist Edsger Dijkstra in 1959, is a graph search algorithm that solves the single-source shortest path problem for a graph with nonnegative edge path costs, producing a shortest path tree....
; Reverse Polish Notation
Reverse Polish notation

Reverse Polish notation by analogy with the related Polish notation, a prefix notation introduced in 1920 by the Poland mathematician Jan Lukasiewicz, is a mathematical notation wherein every operator follows all of its operands....
 and related Shunting yard algorithm
Shunting yard algorithm

The shunting yard algorithm is a method for parsing mathematical equations specified in infix notation. It can be used to produce output in Reverse Polish notation or as an abstract syntax tree ....
; the THE multiprogramming system; Banker's algorithm
Banker's algorithm

The Banker's algorithm is a resource allocation & deadlock avoidance algorithm developed by Edsger Dijkstra that tests for safety by simulating the allocation of pre-determined maximum possible amounts of all resource , and then makes a "safe-state" check to test for possible deadlock conditions for all other pending activities, before decidi...
; the concept of operating system rings
Ring (computer security)

In computer science, hierarchical protection domains, often called protection rings, are a mechanism to protect data and functionality from faults and malicious behaviour ....
; and the semaphore
Semaphore (programming)

In computer science, a semaphore is a protected variable or abstract data type which constitutes the classic method for restricting access to shared resources such as shared memory in a multiprogramming environment....
 construct for coordinating multiple processors and programs. Another concept due to Dijkstra in the field of distributed computing is that of self-stabilization
Self-stabilization

Self-stabilization is a concept of fault-tolerance in distributed computing. Distributed computing systems are challenging to debug and analyze....
 – 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
Open Shortest Path First

Open Shortest Path First is a Adaptive routing routing protocol for use in Internet Protocol networks. Specifically, it is a link-state routing protocol and falls into the group of interior gateway protocols, operating within an autonomous system ....
.

He was also known for his low opinion of the GOTO
GOTO

GOTO is a statement found in many computer programming languages. It is a combination of the English words wiktionary:go and wiktionary:to....
 statement in computer programming
Computer programming

Computer programming is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language....
, writing a paper in 1965, and culminating in the 1968 article "" (EWD215), regarded as a major step towards the widespread deprecation of the GOTO
GOTO

GOTO is a statement found in many computer programming languages. It is a combination of the English words wiktionary:go and wiktionary:to....
 statement and its effective replacement by structured control constructs, such as the while loop
While loop

In most computer programming languages, a while loop is a Control flow statement that allows code to be executed repeatedly based on a given Boolean datatype condition....
. This methodology was also called structured programming
Structured programming

Structured programming can be seen as a subset or subdiscipline of procedural programming, one of the major programming paradigms. It is most famous for removing or reducing reliance on the GOTO Statement ....
, the title of his 1972 book, coauthored with C.A.R. Hoare and Ole-Johan Dahl
Ole-Johan Dahl

Ole-Johan Dahl was a Norway computer scientist and is considered to be one of the fathers of Simula and object-oriented programming along with Kristen Nygaard....
. The March 1968 ACM letter's famous title, "Go To Statement Considered Harmful
Considered harmful

In computer science and related disciplines, considered harmful is a phrase popularly used in the titles of diatribes and other critical essays ....
", was not the work of Dijkstra, but of Niklaus Wirth
Niklaus Wirth

Niklaus Emil Wirth is a Switzerland computer science, best known for designing several programming languages, including Pascal , and for pioneering several classic topics in software engineering....
, then editor of Communications of the ACM
Communications of the ACM

Communications of the ACM is the flagship monthly journal of the Association for Computing Machinery . First published in 1957, CACM is sent to all ACM members, currently numbering about 80,000....
.

Dijkstra was known to be a fan of ALGOL 60
Algol

Algol , known colloquially as the Demon Star, is a bright star in the constellation Perseus . It is one of the best known eclipsing binary, the first such star to be discovered, and also one of the first variable stars to be discovered....
, and worked on the team that implemented the first compiler
Compiler

A compiler is a computer program that transforms source code written in a programming language into another computer language . The most common reason for wanting to transform source code is to create an executable program....
 for that language. Dijkstra and Jaap Zonneveld, who collaborated on the compiler, agreed not to shave until the project was completed.

He also wrote two important papers in 1968, devoted to the structure of a multiprogramming operating system called THE, and to Co-operating 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
Formal verification

In the context of hardware and software systems, formal verification is the act of Mathematical proof or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics....
. The prevailing opinion at the time was that one should first write a program and then provide a mathematical proof
Mathematical proof

In mathematics, a proof is a convincing demonstration that some mathematical statement is necessarily true. Proofs are obtained from deductive reasoning, rather than from inductive reasoning or empirical arguments....
 of correctness
Correctness

In theoretical computer science, correctness of an algorithm is asserted when it is said that the algorithm is correct with respect to a program specification....
. 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
Program derivation

In computer science, program derivation is the derivation of a program from its specification, by mathematical means.To derive a program means to write a formal specification, which is usually non-executable, and then apply mathematically correct rules in order to obtain an executable program satisfying that specification....
, 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 Mozart
Wolfgang Amadeus Mozart

Wolfgang Amadeus Mozart Mozart showed prodigious ability from his earliest childhood in Salzburg. Already competent on keyboard and violin, he composed from the age of five and performed before European royalty; at seventeen he was engaged as a court musician in Salzburg, but grew restless and traveled in search of a better position, always...
 and Beethoven
Ludwig van Beethoven

Ludwig van Beethoven was a German composer and pianist. He was a crucial figure in the transitional period between the Classical music era and Romantic music eras in classical music, and remains one of the most acclaimed and influential composers of all time....
.

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
Self-stabilization

Self-stabilization is a concept of fault-tolerance in distributed computing. Distributed computing systems are challenging to debug and analyze....
.

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.

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."

He died in Nuenen
Nuenen

Nuenen is a town in the municipality of Nuenen, Gerwen en Nederwetten, in The Netherlands.Vincent Van Gogh resided in Nuenen from 1883-1885. At least one of his paintings features a scene in the town ? Congregation Leaving the Dutch Reformed Church in Nuenen which was stolen from the Van Gogh Museum in December 2002....
, The Netherlands on August 6 2002 after a long struggle with cancer
Cancer

Cancer is a class of diseases in which a group of cell display uncontrolled growth , invasion , and sometimes metastasis . These three malignant properties of cancers differentiate them from benign tumors, which are self-limited, do not invade or metastasize....
. The following year, the ACM (Association for Computing Machinery
Association for Computing Machinery

The Association for Computing Machinery, or ACM, was founded in 1947 as the world's first scientific and educational computing society. Its membership was approximately 83,000 as of 2007....
) PODC Influential Paper Award in distributed computing was renamed the Dijkstra Prize
Dijkstra Prize

The Edsger W. Dijkstra Prize in Distributed Computing is given for outstanding papers on the principles of distributed computing, whose significance and impact on the theory and/or practice of distributed computing has been evident for at least a decade....
 in his honour.

EWDs and writing by hand

Dijkstra was 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 were mainly computer science and mathematics, but also included 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.

One of Dijkstra's sidelines was serving as Chairman of the Board
Board of directors

A board of directors is a body of elected or appointed persons who jointly oversee the activities of a company or organization. The body sometimes has a different name, such as board of trustees, board of governors, board of managers, or executive board....
 of the fictional Mathematics Inc., a company that he imagined having commercialized the production of mathematical theorems in the same way that software companies had commercialized the production of computer programs. He invented a number of activities and challenges of Mathematics Inc. and documented them in several papers in the EWD series. The imaginary company had produced a proof of the Riemann Hypothesis
Riemann hypothesis

In mathematics, the Riemann hypothesis, due to , is a conjecture about the distribution of the Root of the Riemann zeta function stating that all non-trivial zeros of the Riemann zeta function have real part 1/2....
 but then had great difficulties collecting royalties
Royalties

Royalties are usage-based payments made by one party to another for ongoing use of an asset, sometimes an intellectual property right.Royalties can be determined as a percentage of gross or net sales derived from use of the asset or a fixed price per unit sold....
 from mathematicians who had proved results assuming the Riemann Hypothesis. The proof itself was a trade secret
Trade secret

A trade secret is a formula, Best practice, process, design, Legal instrument, pattern, or compilation of information which is not generally known or reasonably ascertainable, by which a business can obtain an economic advantage over competitors or customers....
 (EWD 475). Many of the company's proofs were rushed out the door and then much of the company's effort had to be spent on maintenance
Software maintenance

Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment ....
 (EWD 539). A more successful effort was the Standard Proof for Pythagoras' Theorem, that replaced the more than 100 incompatible existing proofs (EWD427). Dijkstra described Mathematics Inc. as "the most exciting and most miserable business ever conceived" (EWD475). He claimed that by 1974 his fictional company was the world's leading mathematical industry with more than 75 percent of the world market (EWD443).

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. When lecturing, he would write proofs in chalk on a blackboard rather than using overhead foils, let alone Powerpoint slides. Even after he succumbed to his UT colleagues’ encouragement and acquired a Macintosh
Macintosh

File:Imac alu.pngMacintosh, commonly shortened to Mac, is a brand name which covers several lines of personal computers designed, developed, and marketed by Apple Inc....
 computer, he used it only for e-mail and for browsing the World Wide Web.

Awards and honors

Among Dijkstra's awards and honours are:
  • Member of the Royal Netherlands Academy of Arts and Sciences
    Royal Netherlands Academy of Arts and Sciences

    The Royal Netherlands Academy of Arts and Sciences is an organisation dedicated to the advancement of science and literature in the Netherlands....
     (1971)
  • Distinguished Fellow of the British Computer Society
    British Computer Society

    The British Computer Society is a professional body and a learned society that represents those working in Information Technology. Established in 1957, it is the largest United Kingdom-based professional body for computing....
     (1971)
  • The Association for Computing Machinery
    Association for Computing Machinery

    The Association for Computing Machinery, or ACM, was founded in 1947 as the world's first scientific and educational computing society. Its membership was approximately 83,000 as of 2007....
    's A.M. Turing Award (1972)
  • Foreign Honorary Member of the American Academy of Arts and Sciences
    American Academy of Arts and Sciences

    The American Academy of Arts and Sciences is an organization dedicated to scholarship and the advancement of learning. It serves as a nationwide honor society for the United States....
     (1975)
  • Doctor of Science Honoris Causa from the Queen's University Belfast (1976)
  • Computer Pioneer Charter Recipient from the IEEE Computer Society
    IEEE Computer Society

    IEEE Computer Society is an organizational unit of the Institute of Electrical and Electronics Engineers . It was established in 1963 when the American Institute of Electrical Engineers and the Institute of Radio Engineers merged to create the IEEE....
     (1982)
  • Honorary doctorate from the Athens University of Economics & Business, Greece (2001).


See also

  • Dijkstra's algorithm
    Dijkstra's algorithm

    Dijkstra's algorithm, conceived by Dutch computer scientist Edsger Dijkstra in 1959, is a graph search algorithm that solves the single-source shortest path problem for a graph with nonnegative edge path costs, producing a shortest path tree....
  • Dining philosophers problem
    Dining philosophers problem

    In computer science, the dining philosophers problem is an illustrative example of a common computing problem in Concurrency . It is a classic Parallel programming synchronization problem....
  • "The Cruelty of Really Teaching Computer Science
    The Cruelty of Really Teaching Computer Science

    ?The Cruelty of Really Teaching Computing Science? is a 1988 paper by Edsger W. Dijkstra, which argues that computer programming should be understood as a branch of mathematics, and that the formal mathematical proof of a computer program is a major criterion for correctness....
    "
  • Shunting yard algorithm
    Shunting yard algorithm

    The shunting yard algorithm is a method for parsing mathematical equations specified in infix notation. It can be used to produce output in Reverse Polish notation or as an abstract syntax tree ....


Footnotes


Writings by E.W. Dijkstra

(EWD215)

(EWD340) , 1972 ACM Turing Award lecture

(EWD498)

  • 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
  • O.-J. Dahl
    Ole-Johan Dahl

    Ole-Johan Dahl was a Norway computer scientist and is considered to be one of the fathers of Simula and object-oriented programming along with Kristen Nygaard....
    , E. W. Dijkstra, C. A. R. Hoare
    C. A. R. Hoare

    Sir Charles Antony Richard Hoare , commonly known as Tony Hoare or C.A.R. Hoare, is a United Kingdom computer science, probably best known for the development in 1960 of Quicksort , one of the world's most widely used sorting algorithms....
     Structured Programming, Academic Press, London, 1972 ISBN 0-12-200550-3
    • this volume includes an expanded version of the Notes on Structured Programming, including an extended example of using the structured approach to develop a backtracking algorithm to solve the 8 Queens problem
      Eight queens puzzle

      The eight queens puzzle is the problem of putting eight chess Queen s on an 8?8 chessboard such that none of them is able to capture any other using the standard chess queen's moves....
      .


Others about Dijkstra, eulogies

  • Digidome
  • (PDF
    Portable Document Format

    Portable Document Format is a file format created by Adobe Systems in 1993 for document exchange. PDF is used for representing two-dimensional documents in a manner independent of the application software, hardware, and operating system....
    ) Obituary in Formal Aspects of Computing
    Formal Aspects of Computing

    The Formal Aspects of Computing journal is published by Springer Science+Business Media. It covers the area of formal methods and associated topics in computer science....
     with a short biography
  • by David Gries
  • by J Strother Moore
  • by Mario Szegedy


External links


  • . Dijkstra recounts his early education and training as a theoretical physicist and as a 'programmer'. Dijkstra describes his work developing software, and his activities at several early information processing conferences. Dijkstra also discourses on the development of ALGOL 60 and the origins of computing science in Europe and America. Oral history interview 2001. Charles Babbage Institute
    Charles Babbage Institute

    The Charles Babbage Institute is a research center at the University of Minnesota specializing in the history of information technology, particularly the history since 1935 of digital computing, programming/software, and computer networking....
     University of Minnesota, Minneapolis.