Edsger Wybe Dijkstra (May 11, 1930 – August 6, 2002); Dutch pronunciation: [ˈɛtsxər ˈwibə ˈdɛɪkstra] was a Dutch computer scientist. He received the 1972 Turing
Award for fundamental contributions to developing programming languages,
and was the Schlumberger Centennial Chair of Computer Sciences at The University of Texas at Austin from 1984 until 2000.
Shortly before his death in 2002, he received the ACM PODC Influential Paper Award in distributed computing for his work on self-stabilization of program computation. This annual award was renamed the Dijkstra Prize the following year, in his honor.
(from his Wikipedia entry)
I have lead a very privileged life being able to pursue my love of programming from an early age. Not easy when there were no personal computers or only limited access to so called multi user systems . I attended the University of Essex and was taught Computer Science by some very inspirational lecturers. In the first years of the 70s it was possible to join a multitude of different computer manufacturers and be involved in the design of computers from the basic hardware all the way through to its own unique operating system.
Edsgar Dijksta’s early work on THE Multiprogramming System was included in my first experiences of operating system design and then we moved into practical examples of using semaphores to handle interrupts. Then when were being taught programming we were all handed out copies of his 1968 paper that blasted the use of tyhe GOTO statement (thankfully as budding computer scientists we were spared Fortran but were subjected to ALGOL-60 instead). This experience, for all of us who went on to work in software engineering, was particularly useful as I felt him looking over my shoulder
should I ever be using a GOTO statement even when programming in microcode or assembler!
After I left the academic life, I was able through my employer, Burroughs Corporation to easily keep up with his writings as Dijkstra worked as consultant and we received paper copies of his material (remember there was no Internet or World Wide Web in the 70s).
Apart from challenging all of us to be better, Dijkstra gave us the shortest path-algorithm, Reverse Polish Notation and related Shunting yard algorithm among many ideas.
I was privileged to both meet him and to hear him lecture at a two week software design symposium at San Diego University at the end of the 70s while I still lived and worked in the States. This was just after Three Mile Island and the issues about good design, testing and disasters caused by “computers” were all fresh in our minds – especially as at that time I lived too close for comfort to that particular power station.
Last week, while researching for my Twitter stream and this blog, I was horrified to discover that Dijksta’s book : A Discipline of Programming is listed on Amazon at £77. I remember reading it from cover to cover and discussing it with colleagues at work. At that time I was the lead designer and implementer for an in-house computer language used to develop compilers and utilities for four distinct computer systems marketed by the Burroughs Corporation. This book and its ideas were discussed over the coffee machine as we wanted to discover how we could put to practical use as many of the ideas as possible.
Today we are fortunate that we can watch some of his lectures on YouTube. I
have selected one here:
Selected Bibliography:
Dijkstra’s Short Paper : The Humble Programmer (In 1973 I was able to put my profession as Computer Programmer on my marriage certificate unlike Dijkstra in 1957)
The Edsgar W. Dijkstra Memorial Lecture delivered by Sir Tony Hoare in October 2010 (I was privileged to meet Sir Tony at the same conference in San Diego and I still his books on computing)