Edsger W. Dijkstra

Date

Edsger Wybe Dijkstra ( / ˈ d aɪ k s t r ə / DYKE -strə ; Dutch: [ˈɛtsxər ˈʋibə ˈdɛikstraː] ; 11 May 1930 – 6 August 2002) was a Dutch computer scientist, programmer, mathematician, and writer of science essays. He was born in Rotterdam, Netherlands, and studied mathematics, physics, and theoretical physics at the University of Leiden. Adriaan van Wijngaarden gave him a job as the first computer programmer in the Netherlands at the Mathematical Centre in Amsterdam.

Edsger Wybe Dijkstra ( / ˈ d aɪ k s t r ə / DYKE -strə ; Dutch: [ˈɛtsxər ˈʋibə ˈdɛikstraː] ; 11 May 1930 – 6 August 2002) was a Dutch computer scientist, programmer, mathematician, and writer of science essays.

He was born in Rotterdam, Netherlands, and studied mathematics, physics, and theoretical physics at the University of Leiden. Adriaan van Wijngaarden gave him a job as the first computer programmer in the Netherlands at the Mathematical Centre in Amsterdam. He worked there from 1952 to 1962. In 1956, he developed and solved the shortest path problem. In 1960, he helped create the first compiler for the programming language ALGOL 60 with a colleague named Jaap A. Zonneveld. In 1962, he moved to Eindhoven and later to Nuenen, where he became a professor in the Mathematics Department at the Technische Hogeschool Eindhoven. In the late 1960s, he designed the THE multiprogramming system, which used a type of memory management that influenced later systems. In August 1973, he joined the Burroughs Corporation as its only research fellow. During his time at Burroughs, he wrote nearly 500 documents in the "EWD" series, mostly technical reports for a small group of people.

In 1984, Dijkstra accepted the Schlumberger Centennial Chair in the Computer Science Department at the University of Texas at Austin. He worked there until his retirement in November 1999. After retiring, he and his wife returned to his original home in Nuenen, where he died on 6 August 2002 after a long illness.

He was awarded the 1972 ACM Turing Award for important work in creating structured programming languages. Near the end of his life, he received the ACM PODC Influential Paper Award for his research on self-stabilization of program computation. The following year, this award was renamed the Dijkstra Prize in his honor.

Life and works

Edsger Dijkstra was born in Rotterdam. His father, Douwe Wybe Dijkstra (1898–1970), was a chemist. He studied with Frans Maurits Jaeger and was president of the Rotterdamsche Chemische Kring, the Rotterdam branch of the Royal Netherlands Chemical Society. He taught chemistry at a secondary school and later became its superintendent. His mother, Brechtje Cornelia Kluijver (1900–1994), was a mathematician, but she never held a formal job.

Dijkstra once considered becoming a lawyer and hoped to represent the Netherlands in the United Nations. However, after graduating from Gymnasium Erasmianum in 1948, his parents advised him to study mathematics and physics. He then pursued theoretical physics at the University of Leiden.

In the early 1950s, electronic computers were a new thing. Dijkstra discovered his career by chance. Through his supervisor, Professor Johannes Haantjes, he met Adriaan van Wijngaarden, the director of the Computation Department at the Mathematical Centre in Amsterdam. Van Wijngaarden offered Dijkstra a job, and he officially became the Netherlands’ first "programmer" in March 1952.

For a time, Dijkstra remained focused on physics, working on it three days a week in Leiden. However, as he learned more about computing, his interests shifted. He later said:

— Edsger Dijkstra, The Humble Programmer (EWD340), Communications of the ACM

When Dijkstra married Maria "Ria" C. Debets in 1957, he was required to state his profession as part of the marriage ceremony. He said he was a programmer, but the authorities did not accept this because the profession did not exist in the Netherlands at that time.

In 1959, Dijkstra received his PhD from the University of Amsterdam for a thesis titled Communication with an Automatic Computer. The thesis described the assembly language for the first commercial computer developed in the Netherlands, the Electrologica X1. His thesis supervisor was Van Wijngaarden.

From 1952 until 1962, Dijkstra worked at the Mathematisch Centrum in Amsterdam. He collaborated with Bram Jan Loopstra and Carel S. Scholten, who were hired to build a computer. Their process was strict: They first wrote a programming manual to define the interface between hardware and software. Then, the hardware designers followed their plan, while Dijkstra created software for a machine that did not yet exist. Two lessons he learned were the importance of clear documentation and that careful design can reduce the need for debugging. Dijkstra solved the shortest path problem for a demonstration at the official opening of the ARMAC computer in 1956. He did not publish the result until 1959 because there were no journals focused on automatic computing at the time.

At the Mathematical Centre, Dijkstra and his colleague Jaap Zonneveld developed the first compiler for the programming language ALGOL 60 by August 1960, more than a year before another group produced a compiler. ALGOL 60 is known as a major step in the development of structured programming.

In 1962, Dijkstra moved to Eindhoven and later to Nuenen, in the south of the Netherlands. He became a professor in the Mathematics Department at the Eindhoven University of Technology. The university did not have a separate computer science department, and the department’s culture did not suit him well. Dijkstra tried to build a group of computer scientists to work together on solving problems. This was an unusual approach for the Mathematics Department. In the late 1960s, he created the THE operating system (named after the university, then called Technische Hogeschool Eindhoven). This system influenced later operating systems through its use of software-based paged virtual memory.

In August 1973, Dijkstra joined the Burroughs Corporation as a research fellow. The company was known for producing computers with an innovative hardware design. His duties included visiting Burroughs research centers a few times a year and conducting his own research. He worked from his home in Nuenen, which was the smallest Burroughs research facility. He was the only research fellow for Burroughs and worked from home, occasionally traveling to its U.S. branches. This arrangement allowed him to reduce his university appointment to one day a week. That day, Tuesday, became known as the day of the famous "Tuesday Afternoon Club," a seminar where he discussed scientific articles with colleagues. In 1984, he moved to the University of Texas at Austin (USA), where a new "branch" of the Tuesday Afternoon Club formed in Austin, Texas.

During his time at Burroughs, Dijkstra produced nearly 500 documents in the EWD series, mostly technical reports shared with a select group.

In 1984, Dijkstra accepted the Schlumberger Centennial Chair in the Computer Science Department at the University of Texas at Austin.

Dijkstra worked in Austin until his retirement in November 1999. To celebrate his over 40 years of contributions to computing science, the Department of Computer Sciences held a symposium on his 70th birthday in May 2000.

Dijkstra and his wife returned to his original home in Nuenen, Netherlands, where he learned he had only months to live. He said he wanted to retire in Austin, Texas, but to die in the Netherlands. Dijkstra died on 6 August 2002 after a long battle with cancer. He and his wife were survived by their three children: Marcus, Femke, and Rutger M. Dijkstra, a computer scientist.

Personality

Edsger Dijkstra once said about himself in Nuenen during the mid-1960s.

In the field of computing science, Dijkstra is well known for his unique personality and contributions. In the preface of his book A Discipline of Programming (1976), he wrote, "For the absence of a bibliography I offer neither explanation nor apology." Most of his writings include no references. Dijkstra chose this method to show his independence.

As a university professor for much of his life, Dijkstra viewed teaching as an important part of research, not just a task. His teaching style was unusual. He often paused between sentences during lectures, which some people thought was because English was not his first language. However, these pauses also helped him think quickly and deeply during class. His courses in Austin focused on mathematical proofs rather than computer science. At the start of each semester, he took photos of his students to remember their names. He rarely used textbooks, except for his own while it was being written. Instead of using overhead slides, he wrote proofs on a blackboard with chalk. He encouraged students to share ideas, which he would explore or reject if they went against his principles. He gave difficult homework problems and carefully studied students' answers. His final exams were oral and lasted several hours, held in his office or home.

Dijkstra had a unique way of judging someone’s ability for a job. When Vladimir Lifschitz came to Austin in 1990 for an interview, Dijkstra gave him a puzzle. Lifschitz solved it and has worked in Austin since then.

For many years, Dijkstra avoided using computers in his work. Even after getting a Macintosh computer, he used it only for email and browsing the internet. He never wrote his articles on a computer. Instead, he used a typewriter and later a Montblanc Meisterstück fountain pen, which was his favorite writing tool.

Dijkstra did not use word processors, believing that writing should not require many drafts or edits. He would plan his work in his mind before writing it down. He once said that as a physics student, he solved homework problems in his head while walking in Leiden. Most of his writings were done alone, without help from others. He handled all his letters and communications by himself. When colleagues created a special book of writings for his sixtieth birthday, published by Springer-Verlag, he personally thanked each of the 61 contributors in hand-written letters.

In The Humble Programmer (1972), Dijkstra wrote, "We must not forget that it is not our [computing scientists'] business to make programs, it is our business to design classes of computations that will display a desired behaviour."

Dijkstra also disagreed with including software engineering as part of academic computer science. He wrote, "As economics is known as 'The Miserable Science,' software engineering should be known as 'The Doomed Discipline,' doomed because it cannot even approach its goal since its goal is self-contradictory," and "software engineering has accepted as its charter 'How to program if you cannot.'"

Dijkstra lived a simple life, even to the point of being very modest. His home in Nuenen with his wife was small and unassuming. He did not own a television, video player, or mobile phone, and he rarely went to movies. He played the piano and enjoyed concerts in Austin. A fan of classical music, his favorite composer was Mozart.

Essays and other writing

Throughout his career, Dijkstra was known for creating work that was clever and efficient. He wrote many papers, especially essays, and wrote over 1,300 of them. Most were written by hand in a neat, clear handwriting. These papers included essays, stories, explanations, and warnings. Many focused on mathematics and computer science, while others were reports about his travels. He often made copies of his papers and shared them with a small group of colleagues, who then shared them with others.

Dijkstra was famous for writing manuscripts carefully with a fountain pen. These manuscripts were called EWDs, named after his initials. He began writing EWDs after moving from the Mathematical Centre in Amsterdam to the Eindhoven University of Technology. After moving, he struggled to write for over a year. He then shared copies of a new EWD with colleagues. Many people copied and shared these papers, spreading them widely among scientists worldwide. The EWDs covered topics in computer science and mathematics, including travel reports, letters, and speeches. These short articles spanned 40 years. Most EWDs written after 1972 were handwritten. They are numbered in order and rarely longer than 15 pages. The last one, number 1318, was written on April 14, 2002. These papers are known as the EWD reports or EWDs. More than 1,300 EWDs have been scanned and are available online through the Dijkstra archive at the University of Texas.

Dijkstra believed that simplicity and cleverness were important in computer science and mathematics. He developed an interest in simplicity early in life, influenced by his mother. He once asked his mother if trigonometry was difficult. She said he needed to learn all the formulas and that if a proof required more than five lines, he was on the wrong path.

He believed that in large programs, where mistakes could easily occur, it was important to focus on cleverness. He once wrote that in computing, where mistakes are common, mathematical elegance is not a luxury but something essential.

Dijkstra was known for his sharp wit, strong opinions, and direct communication style. He once said, "The question of whether machines can think is as relevant as whether submarines can swim." He advised a researcher to choose a research topic by saying, "Do only what only you can do." He also criticized the teaching of BASIC and had difficulty interacting with colleagues.

In many of his essays, Dijkstra imagined a fictional company called Mathematics, Inc., which he described as a business that created mathematical theorems like software companies create computer programs. He wrote about challenges faced by the company, such as difficulties collecting payments from mathematicians who used the Riemann Hypothesis in their work. The proof of the Riemann Hypothesis was kept secret. Some proofs were rushed and required later corrections. A successful project was creating a standard proof for the Pythagorean Theorem, replacing over 100 different versions. Dijkstra called the company "the most exciting and most miserable business ever conceived." In EWD 443 (1974), he wrote that the company had over 75% of the world's market share.

Legacy

Edsger Dijkstra received the Turing Award in 1972 for his support of structured programming, a method of writing computer programs that uses organized steps instead of jumping randomly between different parts of a program using Goto statements. In 1968, he wrote a letter to the editor of Communications of ACM titled "Go To Statement Considered Harmful," which led to a lot of discussion among programmers. Today, most programmers use structured programming as their main approach.

One of Dijkstra's most well-known contributions is Dijkstra's algorithm, a method for finding the shortest path through a network. This algorithm is commonly taught in undergraduate computer science courses and is used in network routing protocols like OSPF and IS-IS.

Other important work by Dijkstra includes the Shunting Yard algorithm for parsing mathematical expressions, the "THE" operating system, an early example of organizing an operating system into layers; the Banker's algorithm for managing computer resources; and the semaphore concept for helping multiple processes work together. In the field of distributed computing, Dijkstra introduced the idea of self-stabilization, a technique to ensure systems can recover from errors automatically.

Awards and honors

Edsger W. Dijkstra received many awards and honors throughout his life. These include:

  • Member of the Royal Netherlands Academy of Arts and Sciences (1971)
  • Distinguished Fellow in the British Computer Society (1971)
  • The Association for Computing Machinery’s A.M. 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 degree 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 1969, the British Computer Society (BCS) created the Distinguished Fellow of the British Computer Society (DFBCS) award under bylaw 7 of their royal charter. In 1971, the first person to receive this honor was Dijkstra.

In 1990, to celebrate Dijkstra’s 60th birthday, the Department of Computer Science at the University of Texas at Austin held a two-day seminar in his honor. Speakers from the United States and Europe attended, and computer scientists shared research that was later published in a book.

In 2002, the C&C Foundation of Japan honored Dijkstra for his work in creating the scientific foundation for computer software. This included research in software theory, algorithms, structured programming, and semaphores. Dijkstra was alive when the award was announced, but his family accepted it at a ceremony after his death.

Before his death in 2002, Dijkstra received the ACM PODC Influential-Paper Award for his research on self-stabilization in distributed computing. The following year, the award was renamed the Dijkstra Prize in his honor.

The Dijkstra Award for Outstanding Academic Achievement in Computer Science, given by Loyola University Chicago’s Department of Computer Science, is named after him. Since 2005, this award has recognized the highest academic achievement by a graduating computer science major. It is based on a student’s GPA in major courses and a vote by department faculty.

In 2010, the University of Texas at Austin’s Department of Computer Science held the first Edsger W. Dijkstra Memorial Lecture. Tony Hoare, an Emeritus Professor at Oxford and researcher at Microsoft, spoke at the event. This lecture series was made possible by a grant from Schlumberger, which aimed to honor Dijkstra’s legacy.

More
articles