Edsger W. Dijkstra facts for kids
Quick facts for kids
Edsger W. Dijkstra
|
|
---|---|
![]() Dijkstra in 2002
|
|
Born | Rotterdam, Netherlands
|
11 May 1930
Died | 6 August 2002 Nuenen, Netherlands
|
(aged 72)
Citizenship | Netherlands |
Education | Leiden University (B.S., M.S.) University of Amsterdam (Ph.D.) |
Spouse(s) | Maria (Ria) C. Debets |
Awards |
|
Scientific career | |
Fields | |
Institutions |
|
Thesis | Communication with an Automatic Computer (1959) |
Doctoral advisor | Adriaan van Wijngaarden |
Doctoral students |
|
Influences |
|
Influenced |
|
Edsger Wybe Dijkstra (born May 11, 1930 – died August 6, 2002) was a brilliant Dutch computer scientist. He was also a programmer, software engineer, and writer. He made many important contributions to how computers work and how we write programs.
In 1972, he won the Turing Award. This is like the Nobel Prize for computer science! He won it for helping to create "structured programming." This way of writing code makes programs easier to understand and fix. Later in his life, he was a professor at the University of Texas at Austin.
Just before he passed away in 2002, he received another award for his work on "self-stabilization" in computer systems. This award was later renamed the Dijkstra Prize in his honor.
Contents
Discovering Computer Science
Early Life and Education
Edsger W. Dijkstra was born in Rotterdam, a city in the Netherlands. His father was a chemist and a school superintendent. His mother was a mathematician, but she did not work outside the home.
After finishing school in 1948, Dijkstra thought about becoming a lawyer. He even hoped to work for the United Nations. However, his parents suggested he study mathematics and physics at Leiden University.
Becoming a Programmer
In the early 1950s, electronic computers were very new. Dijkstra found his career by chance. His professor introduced him to Adriaan van Wijngaarden, who led the Computation Department in Amsterdam. In March 1952, Dijkstra officially became the Netherlands' first "programmer."
At first, Dijkstra still spent part of his week studying physics. But as he learned more about computers, his interest grew. When he married Maria (Ria) C. Debets in 1957, he had to state his job. He said he was a programmer, but the authorities didn't accept it. They said "programmer" wasn't a real job yet!
In 1959, he earned his PhD from the University of Amsterdam. His thesis was about how to communicate with an automatic computer. It described the assembly language for the first commercial computer in the Netherlands, called the Electrologica X1.
Important Work and Ideas
Working at the Mathematical Center
From 1952 to 1962, Dijkstra worked at the Mathematisch Centrum in Amsterdam. He worked with Bram Jan Loopstra and Carel S. Scholten, who were building a computer. They had a smart way of working: they first wrote a manual for how the hardware and software would connect. Then, the hardware team built their part, and Dijkstra wrote software for a machine that didn't even exist yet!
From this, Dijkstra learned two big lessons:
- How important clear instructions (documentation) are.
- That you can avoid many program errors (debugging) by designing things carefully.
In 1956, Dijkstra found a way to solve the shortest path problem. This problem is about finding the quickest route between two points. He showed this solution when the ARMAC computer was first opened. He didn't publish his findings until 1959 because there weren't many journals for computer science back then.
Dijkstra and his colleague Jaap Zonneveld also created the first compiler for the ALGOL 60 programming language. They did this by August 1960, which was more than a year before anyone else! ALGOL 60 was a big step forward for structured programming.
Professor at Eindhoven University

In 1962, Dijkstra moved to Eindhoven and became a professor in the Mathematics Department at the Eindhoven University of Technology. The university didn't have a separate computer science department. Dijkstra worked to build a team of computer scientists to solve problems together.
In the late 1960s, he created the THE operating system. This system was named after the university. It helped shape how future operating systems were designed, especially with its use of "virtual memory."
Research at Burroughs Corporation
In 1973, Dijkstra joined Burroughs Corporation, a company known for its innovative computers. He became a research fellow. He mostly worked from his home in Nuenen, visiting the company's research centers a few times a year. He was the only research fellow working from home!
Because of this, he reduced his university teaching to one day a week. This day, Tuesday, became famous for the "Tuesday Afternoon Club." Here, he and his colleagues would discuss scientific articles.
During his years at Burroughs, Dijkstra wrote many research papers. He created nearly 500 documents in his "EWD series."
Teaching at the University of Texas

In 1984, Dijkstra became a professor at the University of Texas at Austin in the Computer Science Department. He worked there until he retired in 1999.
To celebrate his retirement and his many contributions, the university held a special event on his 70th birthday in May 2000.
Final Years
After retiring, Dijkstra and his wife moved back to their home in Nuenen, Netherlands. He passed away on August 6, 2002, after a long illness. He and his wife, Maria, had three children: Marcus, Femke, and Rutger M. Dijkstra, who also became a computer scientist.
Dijkstra's Lasting Impact
Dijkstra won the Turing Award in 1972 for promoting structured programming. This is a way of writing computer programs that uses clear, organized steps instead of jumping around. His famous 1968 letter, "Go To Statement Considered Harmful", started a big discussion. Today, most programmers use structured programming.
One of his most famous contributions is the shortest path algorithm, known as Dijkstra's algorithm. This algorithm helps find the shortest route between points, like in GPS systems. It's taught in almost every computer science course!
Other important ideas from Dijkstra include:
- The Shunting yard algorithm, which helps process mathematical expressions.
- The THE multiprogramming system, an early example of building computer systems in layers.
- The Banker's algorithm, which helps manage resources in a computer system.
- The semaphore, a tool for coordinating different parts of a program.
- The idea of self-stabilization, which helps computer systems fix themselves if something goes wrong.
Dijkstra's algorithm is used in routing protocols like OSPF and IS-IS, which help direct internet traffic.
His Unique Style

Dijkstra was known for his strong personality. In one of his books, he famously said he wouldn't include a list of references. He wanted to rely on his own thinking.
As a professor, Dijkstra saw teaching as a serious part of his research. His teaching style was unique. He would often pause for a long time between sentences during lectures. This wasn't just because English wasn't his first language; it was also how he thought deeply about what he was saying.
He didn't use textbooks much, except his own when he was writing it. He would write proofs on a blackboard with chalk. He encouraged students to share ideas and would carefully study their homework. He even gave oral final exams that lasted several hours!
Dijkstra didn't use computers for his own writing for many years. Even when he got a Macintosh computer, he only used it for email and browsing the internet. He preferred to write his articles with his typewriter or his Montblanc pen. He believed you should be able to write something perfectly in your head before putting it on paper.
He wrote over 1,300 papers, many by hand. These were essays, stories, and warnings, mostly about math and computer science. He would make copies and share them with a small group of colleagues, who would then share them further. His interest in simplicity came from his mother, who told him that if a math proof needed more than five lines, he was doing it wrong!
Dijkstra was known for his sharp wit. He once said, "The question of whether Machines Can Think (…) is about as relevant as the question of whether Submarines Can Swim." He also strongly believed that teaching the programming language BASIC was a bad idea.
In some of his funny essays, Dijkstra wrote about a made-up company called "Mathematics, Inc." He imagined this company selling mathematical theorems like software companies sell programs. He wrote about the challenges, like trying to collect money from mathematicians who used their proofs. He called it "the most exciting and most miserable business ever conceived."
His Thoughts on Computer Science
Dijkstra had strong opinions about computer science. In his 1972 essay, The Humble Programmer, he wrote that the goal of computer scientists is not just to make programs. It's to design ways of computing that will behave exactly as we want.
He also didn't think software engineering should be part of academic computer science. He famously said, "software engineering should be known as 'The Doomed Discipline,' doomed because it cannot even approach its goal since its goal is self-contradictory." He felt it was about "How to program if you cannot."
EWD Manuscripts
Dijkstra was famous for writing his manuscripts carefully with his fountain pen. These papers are called EWDs, using his initials as a prefix. He started writing them when he moved to Eindhoven. He would make photocopies and share them with colleagues, and they would spread throughout the computer science world.
These short articles cover computer science, math, and even his travel reports. They span 40 years, and almost all after 1972 were handwritten. They are usually less than 15 pages long and are numbered in order. The last one, No. 1318, was written in April 2002. More than 1300 EWDs have been scanned and are available online at the University of Texas.
Personal Life
Dijkstra lived a simple life. His house in Nuenen was small and plain. He didn't own a television, a video player, or a mobile phone, and he didn't go to the movies. He enjoyed playing the piano and listening to classical music, especially Mozart.
Dijkstra died on August 6, 2002, from cancer.
Awards and Recognitions
Edsger W. Dijkstra received many awards and honors:
- Member of the Royal Netherlands Academy of Arts and Sciences (1971)
- Distinguished Fellow of the British Computer Society (1971)
- The Association for Computing Machinery's Turing Award (1972)
- Harry H. Goode Memorial Award from the IEEE Computer Society (1974)
- Foreign Honorary Member of the American Academy of Arts and Sciences (1975)
- Honorary Doctor of Science from Queen's University Belfast (1976)
- Computer Pioneer Charter Recipient from the IEEE Computer Society (1982)
- ACM/SIGCSE Award for Outstanding Contributions to Computer Science Education (1989)
- Fellow of the Association for Computing Machinery (1994)
- Honorary doctorate from the Athens University of Economics & Business, Greece (2001)
In 1971, Dijkstra was the first person to be elected as a Distinguished Fellow of the British Computer Society.
In 1990, for his 60th birthday, the Computer Science Department at the University of Texas at Austin held a two-day seminar in his honor. Many computer scientists from around the world came and contributed research papers for a book.
In 2002, the C&C Foundation of Japan recognized Dijkstra for his "pioneering contributions to the establishment of the scientific basis for computer software." Dijkstra knew about the award before he died, and his family accepted it for him.
Just before he passed away, he received the ACM PODC Influential-Paper Award for his work on self-stabilization. The next year, this award was renamed the Dijkstra Prize in his memory.
Loyola University Chicago also has a "Dijkstra Award for Outstanding Academic Achievement in Computer Science." It's given to the top computer science student each year.
The University of Texas at Austin started the "Edsger W. Dijkstra Memorial Lecture" series in 2010 to honor him.
See also
- Go To Statement Considered Harmful
- On the Cruelty of Really Teaching Computer Science
- List of pioneers in computer science
Selected publications
- — (1962). A Primer of ALGOL 60 Programming: Together with Report on the Algorithmic Language ALGOL 60. Academic Press. ISBN 978-0122162503.
- —; Dahl, Ole-Johan; Hoare, C.A.R. (1972). Structured Programming. Academic Press. ISBN 978-0-12-200550-3.
- — (1976). A Discipline of Programming. Prentice Hall. ISBN 978-0132158718. https://archive.org/details/disciplineofprog0000dijk.
- — (1982). Selected Writings on Computing: A Personal Perspective. Monographs in Computer Science. Springer. ISBN 978-0387906522. https://books.google.com/books?id=Y54ACAAAQBAJ.
- —; Feijen, W.H.J.; Sterringa, Joke (1988). A Method of Programming. Addison-Wesley. ISBN 978-0201175363.
- —; Scholten, Carel S. (1990). Predicate Calculus and Program Semantics. Texts and Monographs in Computer Science. Springer-Verlag. ISBN 978-0387969572. https://books.google.com/books?id=cCbjBwAAQBAJ.
- — (1959). "A Note on Two Problems in Connexion with Graphs". Numerische Mathematik 23 (3): 269–271. doi:10.1007/BF01386390. http://www-m3.ma.tum.de/foswiki/pub/MN0506/WebHome/dijkstra.pdf.
- — (1962). "Some Meditations on Advanced Programming". Proc. IFIP Congress. Amsterdam: North-Holland. pp. 535–8.
- — (1965). Cooperating Sequential Processes (Technical report). Technische Hogeschool Eindhoven. EWD-123. Retrieved 2020-09-20. Reprinted in Genuys, F., ed. (1968). Programming Languages: N.A.T.O. Advanced Summer School Held in Villard-de-Lans in 1966. Academic Press. pp. 43–112. OCLC 499952053. Published as Dijkstra, E.W. (1968). "Cooperating Sequential Processes". In Hansen, P.B.. The Origin of Concurrent Programming. New York: Springer. pp. 65–138. doi:10.1007/978-1-4757-3472-0_2. ISBN 978-1-4419-2986-0. https://research.tue.nl/nl/publications/cooperating-sequential-processes(4b2c511e-dce0-4d2c-a1ee-51d4129c6fa4).html.
- — (1965). "Solution of a Problem in Concurrent Programming Control". Comm. ACM 8 (9): 569. doi:10.1145/365559.365617.
- — (1965). "Programming Considered as a Human Activity". Proc. IFIP Congress. pp. 213–7.
- — (1968). "Go To Statement Considered Harmful". Comm. ACM 11 (3): 147–8. doi:10.1145/362929.362947.
- — (1968). "A Constructive Approach to the Problem of Program Correctness". BIT Numerical Mathematics 8 (3): 174–186. doi:10.1007/bf01933419.
- — (May 1968). "The Structure of the 'THE'-Multiprogramming System". Comm. ACM 11 (5): 341–346. doi:10.1145/363095.363143.
- Dijkstra, Edsger W. (April 1970) Notes on Structured Programming
. Report.
- — (1971). A Short Introduction to the Art of Computer Programming. Eindhoven: Technische Hogeschool. OCLC 3474242. EWD316.
- — (1971). "Hierarchical Ordering of Sequential Processes". Acta Inform. 1 (2): 115–138. doi:10.1007/bf00289519.
- — (1972). "The Humble Programmer". Comm. ACM 15 (10): 859–866. doi:10.1145/355604.361591.
- — (June–July 1974). "Programming as a Discipline of Mathematical Nature". American Mathematical Monthly 81 (6): 608–612. doi:10.2307/2319209.
- — (1974). "On the role of scientific thought". E.W. Dijkstra Archive, Center for American History, University of Texas at Austin. EWD447.
- — (1974). "Self-stabilizing Systems in Spite of Distributed Control". Comm. ACM 17 (11): 643–4. doi:10.1145/361179.361202.
- — (1975). "How do we tell truths that might hurt?". Selected Writings on Computing: A Personal Perspective. Monographs in Computer Science. Springer (published 1982). pp. 129–131. ISBN 978-0387906522. https://books.google.com/books?id=Y54ACAAAQBAJ.
- — (1975). "Craftsman or Scientist". ACM Pacific 1975. pp. 217–223.
- — (1975). "On the teaching of programming, i. e. on the teaching of thinking". Language Hierarchies and Interfaces 1975: 1–10.
- — (1977). "Programming: From Craft to Scientific Discipline". International Computing Symposium 1977: 23–30.
- — (1978). "On the Interplay between Mathematics and Programming". Program Construction. Lecture Notes in Computer Science. 69. pp. 35–46. doi:10.1007/BFb0014649. ISBN 978-3-540-09251-3. https://www.springer.com/gb/book/9783540092513.
- — (1975). "Correctness Concerns And, Among Other Things, Why They Are Resented". (ACM) Proceedings of the International Conference on Reliable Software. 21–23 April 1975, Los Angeles, California, USA: 546–550.
- — (1975). "Guarded Commands, Nondeterminacy and Formal Derivation of Programs". Comm. ACM 18 (8): 453–7. doi:10.1145/360933.360975.
- — (1978). "Finding the Correctness Proof of a Concurrent Program". Program Construction 1978: 24–34.
- — (1984). "The threats to computing science". E.W. Dijkstra Archive, Center for American History, University of Texas at Austin. EWD898.
- — (1986). "On a Cultural Gap". The Mathematical Intelligencer 8 (1): 48–52. doi:10.1007/BF03023921.
- — (1987). "Mathematicians and Computing Scientists: The Cultural Gap". Abacus 4 (4): 26–31.
- — (1989). "On the Cruelty of Really Teaching Computer Science". Comm. ACM 32 (12): 1398–1404. doi:10.1145/76380.76381. https://cacm.acm.org/magazines/1989/12/9706-a-debate-on-teaching-computing-science/abstract.
- — (1999). "Computing Science: Achievements and Challenges". ACM SIGAPP Applied Computing Review 7 (2): 2–9. doi:10.1145/335527.335528.
- — (2001). "The End of Computing Science?". Comm. ACM 44 (3): 92. doi:10.1145/365181.365217.
- — (2001). "What led to Notes on Structured Programming". E.W. Dijkstra Archive, Center for American History, University of Texas at Austin.