Edsger Wybe Dijkstra: 1930-2002
Order writes "Edsger Wybe Dijkstra, one of the founding fathers of computer science and the author of the famous "Go To Considered Harmful", has died on Aug. 6, 2002 after a long struggle with cancer."
← Back to Stories (view on slashdot.org)
I guess his last work was titled "Cancer Considered Harmful".
-Gigs
Walking the fine line between funny and troll today.
I've had enough abrasive sigs. Kittens are cute and fuzzy.
Very sad. He did leave plenty of work for us to remember him by, though.
Verhogen(Dijkstra);
After reading this article, I think we all need to pause for a minute, and consider the insight of this simple observation.
Add his definition of things human minds are geared to list: static relationships. It's perfectly in line with Dawkins statement that human minds are designed to comprehend things roughly human-sized moving at roughly human-speeds.
I keep forgetting how long people have been programming. Think about how many people using GOTO there were back in 1968. Probably only a few thousand. Crazy.
https://www.accountkiller.com/removal-requested
everytime you have to debug/edit some old code filled with gotos.
Edsger Wybe Dijkstra sounds middle-eastern.
Only if you're a retard.
I LOVE AMERICAN LOGIC!
I love the anti-American bigotry of Europeans who go on and on about how much more "civilized" than Americans they are, yet can't seem to get through ten years without genocide breaking out somewhere on their savage pseudo-continent.
One of the greats has gone.
(I know it's wrong, and I know it's gallows humor, but somehow, I hope that "V" is inscribed on his tombstone.)
(in case of the infamous /. effect)
Edsger Wybe Dijkstra: 1930-2002
Professor Edsger Wybe Dijkstra, a noted pioneer of the science and industry of computing, died after a long struggle with cancer on 6 August 2002 at his home in Nuenen, the Netherlands.
Dijkstra was born in 1930 in Rotterdam, The Netherlands, the son of a chemist father and a mathematician mother. He graduated from the Gymnasium Erasmianum in Rotterdam and obtained degrees in mathematics and theoretical physics from the University of Leyden and a Ph.D. in computing science from the University of Amsterdam. He worked as a programmer at the Mathematisch Centrum, Amsterdam, 1952-62; was professor of mathematics, Eindhoven University of Technology, 1962-1984; and was a Burroughs Corporation research fellow, 1973-1984. He held the Schlumberger Centennial Chair in Computing Sciences at the University of Texas at Austin, 1984-1999, and retired as Professor Emeritus in 1999.
Dijkstra is survived by his wife of over forty years, Maria (Ria) C. Dijkstra Debets, by three children, Marcus J., Femke E., and computer scientist Rutger M. Dijkstra, and by two grandchildren.
Dijkstra was the 1972 recipient of the ACM Turing Award, often viewed as the Nobel Prize for computing. He was a member of the Netherlands Royal Academy of Arts and Sciences, a member of the American Academy of Arts and Sciences, and a Distinguished Fellow of the British Computer Society. He received the 1974 AFIPS Harry Goode Award, the 1982 IEEE Computer Pioneer Award, and the 1989 ACM SIGCSE Award for Outstanding Contributions to Computer Science Education. Athens University of Economics awarded him an honorary doctorate in 2001. In 2002, the C&C Foundation of Japan recognized Dijkstra "for his pioneering contributions to the establishment of the scientific basis for computer software through creative research in basic software theory, algorithm theory, structured programming, and semaphores".
Dijkstra is renowned for the insight that mathematical logic is and must be the basis for sensible computer program construction and for his contributions to mathematical methodology. He is responsible for the idea of building operating systems as explicitly synchronized sequential processes, for the formal development of computer programs, and for the intellectual foundations for the disciplined control of nondeterminacy. He is well known for his amazingly efficient shortest path algorithm and for having designed and coded the first Algol 60 compiler. He was famously the leader in the abolition of the GOTO statement from programming.
Dijkstra was a prodigious writer. His entire collection of over thirteen hundred written works was digitally scanned and is accessible at http://www.cs.utexas.edu/users/EWD. He also corresponded regularly with hundreds of friends and colleagues over the years --not by email but by conventional post. He strenuously preferred the fountain pen to the computer in producing his scholarly output and letters.
Dijkstra was notorious for his wit, eloquence, and way with words, such as in his remark "The question of whether computers can think is like the question of whether submarines can swim"; his advice to a promising researcher, who asked how to select a topic for research: "Do only what only you can do"; and his remark in his Turing Award lecture "In their capacity as a tool, computers will be but a ripple on the surface of our culture. In their capacity as intellectual challenge, they are without precedent in the cultural history of mankind."
Dijkstra enriched the language of computing with many concepts and phrases, such as structured programming, separation of concerns, synchronization, deadly embrace, dining philosophers, weakest precondition, guarded command, the excluded miracle, and the famous "semaphores" for controlling computer processes. The Oxford English Dictionary cites his use of the words "vector" and "stack" in a computing context.
Dijkstra enjoyed playing Mozart for his friends on his Boesendorfer piano. He and his wife had a fondness for exploring state and national parks in their Volkswagen bus, dubbed the Touring Machine, in which he wrote many technical papers.
Throughout his scientific career, Dijkstra formulated and pursued the highest academic ideals of scientific rigour untainted by commercial, managerial, or political considerations. Simplicity, beauty, and eloquence were his hallmarks, and his uncompromising insistence on elegance in programming and mathematics was an inspiration to thousands. He judged his own work by the highest standards and set a continuing challenge to his many friends to do the same. For the rest, he willingly undertook the role of Socrates, that of a gadfly to society, repeatedly goading his native and his adoptive country by remarking on the mistakes inherent in fashionable ideas and the dangers of time-serving compromises. Like Socrates, his most significant legacy is to those who engaged with him in small group discussions or scientific correspondence about half-formulated ideas and emerging discoveries. Particularly privileged are those who attended his reading groups in Eindhoven and Austin, known as the "Tuesday Afternoon Clubs".
At Dijkstra's passage, let us recall Phaedo's parting remark about Socrates: "we may truly say that of all the men of his time whom we have known, he was the wisest and justest and best."
GOTO Heaven
That would be bear paws not bear hands.
I remember when Tulsa U. brought in Dr. Dijkstra back in the spring of 1984. He spoke at length about software design principles, and how design was the lynchpin of good systems. He was there only for a day, and had insisted on taking time out to talk to anyone interested in hearing him. I'm very glad that TU invited the Computer Science students from ORU over to hear him.
The Computer Science profession has lost another giant.
Subject says it all.
A pity he's gone.
Any service that uses pathfinding algorithms (such as MapQuest) should pay their respest.
Some links from my article that slashdot rejected some hours ago: the University of Texas announcement has a list of his awards and discoveries. (He taught at UT.) A brief paper (in PDF, it's scanned from a handwritten paper for CACM if I recall) shows his brilliant, clear, and concise methods of thought and writing.
If you ever used an application that made use of shortest-path searching -- say, any real-time strategy game -- then you owe this man a debt of gratitude.
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
Dijkstra was very good at producing quotable remarks; in addition to his comment about computers, thought, submarines, and swimming (RTFA), he made the following remark about computer science:
"Computer science is as much about computers as astronomy is about telescopes."
Tarsnap: Online backups for the truly paranoid
10 Birth
20 Death
30 Goto 10
Well, if this is the same gentleman that I have heard about for years now in regards to OSPF, well, my hats off to him and thanks for the contributions he made that allow a goodly portion of packets make it out of autonomous systems and into BGP and the internet at large. Huge impact. How many of us can say that?
VonKraken
He's done much more important stuff than writing that GOTO article... Why do most people remember him for that?
Rid the world, eh?
find . -type f -exec grep goto {} \; | wc -l
17037
Doesn't look like the world's rid of goto to me.
I found the quotes here: http://www.cse.iitb.ac.in:8000/~rkj/dijkstraquotes .html I paste them here in full to counter the slashdot effect.
:-) -->
Some Quotes of Edsger Dijkstra
"Always design your programs as a member of a whole family of programs, including those that are likely to succeed it"
"Separate Concerns"
"A Programming Language is a tool that has profound influence on our thinking habits"
"The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague" (from 1972 Turing Award Lecture)
"Progress is possible only if we train ourselves to think about programs without thinking of them as pieces of executable code"
"Program testing can best show the presence of errors but never their absence"
"I mean, if 10 years from now, when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say to yourself, "Dijkstra would not have liked this", well that would be enough immortality for me"
And then my quote
Use Adsense for Charity
The MS Visual Studio ad is a horrible insult to his memory IMHO.
I first learned that Dijkstra was ill back in February at a conference. Apparently he was sick with cancer and returned home to the Netherlands to live out his remaining days. Since that time, I periodically checked with my source, but they heard nothing new of his condition. I'm shocked to learn he lasted this long, considering what I heard back then.
I was fortunate to be introduced to Dr. Dijkstra at SIGCSE 2000 in Austin by my advisor. Its unfortunate that our field is so young that its pioneers are just now starting to pass on (compared to other sciences such as Physics, Chemistry, etc.).
Dijkstra's Algorithm. Umm, hello? Someone took NO cs.
When in doubt, parenthesize. At the very least it will let some poor schmuck bounce on the % key in vi. (Larry Wall)
You guys have purposefully ignored the passing of Gene Kan! Why? He did more for current computing with his relentless evangelism of Gnutella/P2P than anyone, yet his passing wasn't even worth a slashback!
(From a eulogy by Kemeny and Kurtz)
...he is not going to need his forks anymore and the other guys are finally getting to eat?
seriously though, i think dijkstra will be remembered as long as there is the need to prevent race conditions... which in my eyes is quite an accomplishment.
-strangeloop
At first I thought "no, that's bear _claws_".
Then, I pictured it in a bakery...wierd image to say the least.
A great man has now released his last semaphore...
Two articles posted in a row to depress me.
-Pete
Soccer Goal Plans
It's a shame that /. seems to think "Go To Considered Harmful" is Dijkstra's signature achievement. He was profoundly influential in developing the theory of operating systems. He was one of the first proponents of layered design. He also did pioneering work in mutual exclusion (IIRC, he invented semaphores) and deadlock. In short, he is responsible for a lot of the fundamental concepts that we use to build complex systems today.
First one who tells me how I can pronounce this guy's name without butchering it gets a nickle.
I wonder if he would have been proud knowing that on the day he died, a whole wack of engineers were busy applying his shortest-path algorithm on our final exam in CEng460 - Networking?
I did not always agree with Dijkstra's opinions, but reading what he had to say was always stimulating and enlightening. Even more, many of his writings have stayed with me over the years.
I'll have to admit though that one of my favorite Dijkstra quotes is
"It is practically impossible to teach good programming style to students that have had prior exposure to BASIC; as potential programmers they are mentally mutilated beyond hope of regeneration."
Because has more brain cells working right now than you ever will.
"Everyone is entitled to their own opinion, but not their own facts."
In today's computer world, dominated more by marketing folks more than the technicians, I wonder how many people have heard of this man. It is sad that in the last decade of so, CEOs like Bill Gates and Jeff Bezos have gained so much public recognition while people Dijkstra languish in relative anonymity.
A few weeks ago, there was a post in /. about Knuth. I was surprised to see many ask who he was!
All your favorite sites in one place!
Some of you anonymous cowards should really think before you post crap like that when a pretty cool guy dies.
For those of us who have chosen the fields of computer science & engineering as our professions, this is a time to reflect and realize just how lucky we are.
We're getting in on the ground floor. The folks who were there in the VERY BEGINNING of our field are still around to teach us something. We need to remember just how privileged we are to have these fantastic people with us to "pass the torch" so to speak.
Look at how far the medical field has come in its history. Or chemistry. Or physics. And these are just scientific professions.
Think about other things, like teaching or agriculture.
We're the next group to advance CS/E. We've got to adopt these folks as our mentors and learn all we can from them.
Not just _how_ their stuff works, but _why_ they did it. Fundamental practices 30 years ago are as fundamental today as they were then.
"Those who fail to learn from their past tend to repeat it."
RIP, Mr. Dijkstra. And thanks for being such a great mentor.
--NBVB
Professor Ole-Johan Dahl, University of Oslo, Norway, died on 29 June,
only 70 years of age. He was diagnosed with cancer four years ago, but
the disease seemed not to be life-threatening at first. Last fall,
however, the cancer took a turn for the worse.
I like spaghetti code. I grew up on AppleSoft Basic and GW-Basic (thank you microsoft).
I read books I picked up from the library for free which showed Basic programs threaded back and forth in sequence, for no apparent reason, and like this sentence, confusing the heck out of me. I saw it as a challenge. I also loved condition gotos'. They were evil.
Gosub? Bah. They ran out of memory too much. Because I hadn't the discipline to Return before I Goto'd out of the subroutine. So I used Goto's to simulate procedures. I also eventually used Goto's in a way that I would eventually learn is like structured programming. Set some variables, goto here, do stuff, goto back, set the same variables something else, goto here, do stuff, maybe goto back. Or it would be the end of the program.
Then I got my first C book. I still haven't got the hang of this language. Before the book even mentions "goto" it gives me a lecture on how awful goto's are and that they can produce spaghetti code. But I *like* spaghetti code. And whats with these labels? Line numbers were so much cooler. But I took the man's advice, I used functions.
But Basic spoiled me. I was never an effective programmer since. It wasn't long after I learned of structured programming that I got my first book on C++ and was introduced to object-oriented programming. Now, for someone using structured techniques for a couple years, the need for objects seemed to make sense. But I was lost in a sea of hierarchial classes and virtual methods.
When I first went on the internet, I started learning all kinds of crazy languages, hoping some of them would be simpler. And there were many. Except for forth and common lisp. Except for ML and Smalltalk. So I am still toying with scheme as I speak, still trying to figure out what exactly the difference between a recursive and iterative process is.
Eventually, I'll figure out how to write spaghetti code in this otherwise clean and elegant language too. Continuations sound promising, from what it sounds like.
I wish the best of Dijkstra--hope he rests in peace. Honestly, I've never heard of him until this post to slashdot.
But maybe it is slightly better for him not to know that some of us never learn.
Most CS (and by this I mean the academic field "computer science", not the engineering field "programming") is really just a subset of applied mathematics.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
Cancer considered harmful.
They first did a genocide on their own land with the native americans
That would be the Europeans. Most of the indigenous population was killed or enslaved long before the United States even existed. The major population centers were in Central and South America, and were wiped out by the Spanish and Portuguese. The denser population areas in North America (i.e., East Coast, Midwest) were savagely murdered by the French and British. You've heard the "smallpox blanket" story? That was the British.
By the time the United States came along all that was left was the sparsely populated semi-arid regions of the West and the Great Plains. Not to say that what the U.S. did was RIGHT, but it positively pales by comparison with the atrocities perpetrated by the Euros. Of course, in the early years of the United States, it had a fundamentally European culture. Fortunately we seem to have evolved, while the Euros are still mired in their ancient bigotry and hatred.
I've heard about the way that revisionist history was used in Europe to excuse and cover up guilt, but this beggars the imagination.
Let's not forget India (Britain), the slave trade (Britain again), Indonesia (the Netherlands), Viet Nam and Cambodia (France) and the African countries (everybody).
If you're really Swiss, how do you feel about all that gold in your banks that came from the jewelry, money, and even teeth of concentration camp victims? How about Nestle's genocide equivalent of pushing formula on Third World mothers to replace natural breast milk?
Get back to me when Europe manages to go ten years without a genocide. Then you can start pointing fingers at the United States.
Non-Linux Penguins ?
what... the only person on the planet smarter than you dies and you don't know why you should care....?
You are Now the Most Intelligent Person On Earth!!!!!!!!!
congratulations!!!!!!!!
March 1968: Edsger W. Dijkstra- GOTO is dead!
August 2002: GOTO- Edsger W. Dijkstra is dead!
Down with Crapitali$m. Anarchy NOW!
Two chapters from one of Dijkstra's books improved my program correctness by an order of magnitude, and this was after I had fully digested Bertrand Meyer on programming by contract. His notion of guards is the number one item on my top ten list of everything I know about writing correct code.
Just looking at his U texaspublication list is an awesome (pre-1990s meaning) experience. Let your eyes scan it, as they would the Grand Canyon. Then wander around the UTexas site, where many publications are online, and start reading. You'll be a better person for it. And you may experience a thrill of understanding, when you see that his hands hold up so much of today's code, as Shakespeare's hands hold up so much of the language and common experience of the English world.
To get a feel for the span of his life's work, consider his thesis title, "Communications with an automatic computer." The word "automatic" was necessary then, to distinguish it from a person with a calculator. The machine he used in his thesis? It had a 32K memory unit. He divided this into what he called "living" and "dead" memory.
Let's hope that his memory will be of the living variety.
To a man I never shall meet, thank you.
I dont know of Edsger Wybe Dijkstras written name although I am positive his name is well known verbally to me.
RIP
Pixels keep you awake!
A terrible tragedy.
I should pay my respects.
Do you think I should use Dijkstra's Algorithm or A* to find out how to get to the funeral home?
I should probably use Dijkstra's algorithm out of respect, but I'm afraid that I might run out of memory in the process and forget my original purpose or spend too long thinking about it and not arrive in time.
Oh my.
Sanity is a sandbox. I prefer the swings.
Out of respect for the dead man, let us frame this instead in terms of structured programming; Perhaps call/cc. We could think of it as if our souls are continuations that God passes us at birth, and... no. I've lost you, haven't i. Let's start over
r .maintainCell( Vitalsigns.protein:1241412 )r .processInput( Vitalsigns.protein:954423 )( homonculus.protein:3423245 )
:) I do know, however, that do a google search for the man, and you won't get Goto Considered Harmful. You'll mostly, in fact, get pages discussing his Shortest Path Algorithm.
OK, here's a much better one: exception handling. Things like organ failure raise exceptions; death is just what happens when an exception isn't caught, and program flow drops back into the primordial brahman from whence all things come. Here is the stack trace for E. Dijkstra:
Process exited unexpectedly
Exception in thread "endocrine" life.cell.Exception.Cancer: "Heart not responding"
at life.entity.vertabrate.human.dijkstra.Edsger.Live
at life.entity.vertabrate.human.dijkstra.Edsger.Live
at life.entity.vertabrate.human.dijkstra.Edsger.main
See? Like Dijkstra said. No need for goto in an intelligently designed language.
To be serious for a second, though, we're all talking about Goto Considered Harmful because that's the one thing we've all read. This man did a bunch of other stuff. If i knew more about computer history i'd mention some of the stuff he did, but to be honest i don't really know what all he did
It may suffice to say this, before i go: In the Computers->History->Pioneers section of google.com's Web Directory section, exactly 33 people are listed (People like Tim Berners-Lee, Grace Hopper, and Alan Turing).
Dijkstra is one of them.
If that isn't 'net immortality, then i don't know what is.
Irritable, left-wing and possibly humorous bumper stickers and t-shirts
His writings on semaphores gave me the key thoughts on scheduling real time OS's some 30 plus years ago and I went on to create and use those RTOS's in a variety of micro and mini computers over the years on a lot of consulting jobs. Most of the time, I neglected to tell management just how I did things, and the results were some amazing systems way back then. He nudged me to realize that "Simplicity is Elegance" when it comes to software design, which is really a matter of efficient resource management. If you can understand your own designs, they might even work. He will be missed.
I am frankly not convinced that he found that nested blocks are *objectively* better than goto's. His description is not really rock-solid reasoning in that paper that I can ascertain.
Nested blocks are "better" because they are more consistent from programmer-to-programmer I have tentatively concluded.
More about my GOTO ramblings at:
http://geocities.com/tablizer/goals.htm#goto
There is yet to be a "killer proof". I heard that when that paper came out there was a lot of contraversy. Goto fans rightly claimed that it was just an opinion. Regardless, most programmers now prefer nested blocks for the most part, whether they know why or not.
I can't find any GOTO fans to interview, so their preference reasoning is unfortunately lost to history it seems.
Table-ized A.I.
Even if you avoid what's harmful, you can die of cancer.
When I die I'd like my ashes piped to /dev/null.
This man contributed many great ideas to our field. The sad thing is how many programmers are still in ignorance of them, even now. You did great things, Mr. Dijkstra, and will be sorely missed. I just hope we're still allowed to have generic computing devices in ten years' time, so we can continue to refine and develop the revolutionary ideas you left us with.
Remember that? Only algorithm on my CS course I ever put into practical use. aka "No bracket required", (for Phil Collins fans).
-- Free software on every PC on every desk
Its unfortunate that our field is so young that its pioneers are just now starting to pass on (compared to other sciences such as Physics, Chemistry, etc.).
Yes. Computer science is indeed in its infancy. Dijkstra cleaned up algorithms by eliminating spaghetti code and introducing structured programming. In my opinion, we are still mired deep in the dark ages of computing. If only someone would clean up software engineering by eliminating the algorithm as the basis of software construction.
Do a search on Google for 'synchronous reactive systems' and find out about the next big advance in software engineering.
Project COSA
I guess trying to calculate the worst case running time of the life process finally got caught up with the old bugger.
He will be missed, but only for the shortest path of time possible.
I heard reference to his algorithm (only way I heard about him) and just pegged him as another Renaissance man with too much free time on his hands (like Fourier).
Learn what he taught. Avoid GOTO. Learn about structured programming and CSP. Strive for elegance and simplicity in your programs. I can think of no better testament to his work than to show that we really were listening.
Slashdot - News for Herds. Stuff that Splatters.
find . -type f -exec grep goto {} \;
/usr/src?) or a mix of source code, binaries and grocery lists which just happen to have the string 'goto' somewhere, and then seeing how many times that happens with wc? Dijkstra would be ashamed of you.
So you're running this without any indication that the files you're grepping are really source code (are you running it on a clean
(drivers/scsi/NCR5380.c, lines 1466-1468)
We're the next group to advance CS/E. We've got to adopt these folks as our mentors and learn all we can from them.
Not just _how_ their stuff works, but _why_ they did it. Fundamental practices 30 years ago are as fundamental today as they were then.
True. But we must also learn why their stuff did not work. Dijkstra learned why the old stuff did not work and changed it. The truth is that we are in a middle of a software reliability and productivity crisis.
Dijkstra did us all a favor by eliminating the cancer of spaghetti code from algorithmic software. Now we need to look further. Are there any more cancerous tumors in software engineering that need to be cut out? I think so.
I think the biggest and nastiest cancer of them all is the practice of basing software construction on the algorithm. We need to abandon our algorithmic past and embrace a signal-based, reactive software paradigm. It took decades before Dijkstra's contributions became widely adopted. I hope we do not repeat the same mistake.
Project COSA
- 10 PRINT "Fuck You"
Send output to the line printer and head for the hills.20 GOTO 10
--
"Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
{}
What kind of ass shell are you using?
Incidentally, unless I'm really bad at math, isn't it ~72? 2002-1930...
"I may be quite wrong." - Socrates
until at least 1993. It was one of the most influential courses I had as an undergrad. Clarity of thought and argument...
Ah well, everyone goes some time. RIP.
It amazes me that there are people who claim to be professional software engineers without an inkling of his contributions.
It's sad that a Negro would choose the occasion of Dijkstra's passing as an opportunity to disrespect him and other white people. Only blind hate combined with stupidity could have fueled hateful remarks by the anonymous Negro coward. I would like that ANC to name even one Negro with that the brains and stature of Edsger Dijkstra. I can not even name one Negro in CS who has 1/100 the intelligence of Dijkstra.
We are informed when great men die. We are never informed when great men are born. Here's hoping whoever he comes back as can live up to his potential.
[o]_O
When I was just fresh out of college back in 1978, a collegue of mine who had been on Dijstras circulation list gave me a large stack of photocopied papers from Dijstra...all written in his own handwriting because he liked to invent his own symbols and found typewriters too limiting. I was working for Philips Research at the time - and I suppose Dijstra was working at Philip's "Math Center" in Eindhoven, Holland.
:-)
I've kept a whole boxful of his papers over the years - just because they are so fascinating to browse.
He invented his own programming language for expressing algorithms - but doesn't seem ever to have written a compiler for it. He refers to algorithms his mother came up with...almost every document has something interesting like that.
The notes are written in the most perfect handwriting you've ever seen.
They could have been printed - they are that precise. Then, one of them out of the blue seems to have been written in someone else's handwriting - it's just as amazingly neat though and when you get to the end of it, it says something like: Apologies for the poor handwriting in this note, but my left hand could use some practice.
These cannot be stored as text files without losing most of their historical interest. Maybe I should spend an evening or two to scan them and put them online. There could be no more fitting tribute to the man.
www.sjbaker.org
I was fortunate enough to obtain my Computer Science degree from the University of Texas during Dijkstra's tenure. I attended his lectures every time I got a chance, even when I wasn't enrolled in the class.
... for a few minutes. He then started trailing off again, and the same woman shouted "Speak louder, man! We can't hear a thing you're saying".
During one of his later lectures, the microphone was broken, and Dijkstra started speaking too quietly for us to hear him. After a few moments, a woman in the audience shouted "Would you please speak louder!".
We were taken aback at first, but Dijkstra apologized and spoke louder
Again, we all gasped at this apparent rudeness towards one of the worlds best computer scientists, but Dijkstra apolgized again, and spoke louder.
About ten minutes later, he trailed off again. This time when the woman shouted at him to speak up, he stopped what he was doing, came towards the audience and said, "Ladies and Gentlemen, please allow me to introduce my wife". We all roared with laughter.
He must have used one goto somewhere...
I could never pronouce his name in school, and I still couldn't. Maybe his name has something to do with the fact we use ijk as index variables.
Although Edsger is remembered for the article on the
goto, his development of the stack model was an
evolutionary leap in the development of computers.
Every computer made today embodies his model.
Interrupt handling, recursion, reentrant
programming, multi-programming, multi-processing,
virtual memory all come out of Edsger's model.
I had the great fortune to work on a Burroughs B5500
and later the first B6500 that made it out of
manufacturing. This entire series of computers
was based on Edsger's model and his Algol 60 compiler.
Tony Hoare may have put it best when he quipped
"Algol is an improvement over all its successors".
Certainly Edsger was an improvement over most of
his successors.
Jim Tarvid
At the UTexas EWD archive.
self = NULL; // self++
while (self != enlightened)
{
Birth();
SeekEnlightenment();
Death();
}
exit(NIRVANA);
You should really learn how to use find if you don't know what {} does. Silly xargs user!
Object-oriented programming is an exceptionally bad idea which could only have originated in California.
(attributed in a post to c.l.py
Moderators: This is one of those posts where I say screw karma. Mod me to redundant hell if you wish, it just doesn't matter.
This is an extremely sad day for computer science. There is hardly a field in CS that Dijkstra's work didn't touch. His work can be seen everywhere we use computers.
Personally, this is an extremely sad day for me as well. Although I never met the man or saw him speak (now one of my greatest regrets), being in college, he's my equivalent of a Joe DiMaggio or a Ted Williams. This man was a hero and an inspiration to me.
Sometimes it really pisses me off that we show such public sorrow for sports figures who pass away like Ted Williams who for the most part didn't do a damn thing to really and truly improve our lives (granted Ted Williams was a marine and fighter pilot but that's not why most people were mourning him). This man greatly and directly contributed to a vast improvement of our quality of life as human beings. His obituary will be a foot note and page Z-42 of the NY Times and Washington Post but when celebrities die, they're front and center on page 1. It makes me sick.
That's my 2 cents and I'm not giving any damn change. >:o
It is a sad sad day to see in the news that one of the giants that defined CS have passed away. Unfortunately most people in the IT field today dont even know of him. We should however be proud to have lived in the times when giants such Dijkstra and Knuth were alive. These are as important for CS as Euler and Gauss were for math.
Does anyone know what type of cancer killed Prof. Dijkstra?
I think it was an ACM talk where he said that when he got married, and he had to declare his profession, he was not allowed to write Computer Scientist because they didn't exist. So he put down Physicist.
Weingarden was right when he saw the pioneering of computer science in him. Rock on!
http://pcblues.com - Digits and Wood
I use M$ products and read slashdot. I don't pay for them, but an ad here might clue me in on pirating the next version of something.
autopr0n is like, down and stuff.
He wrote "goto considered harmful" in 1968
autopr0n is like, down and stuff.
This actually goes back to early versions of ForTran (back when the language was still spelled this way).
Variables were typed based upon the first letter of the name, with "i" starting your integer variables.
Its been too many years since I learned FORTRAN (and I try to deny knowing it at all) so I can't remember exactly how the naming conventions work anymore.
This is speculation, but I would guess that he's speaking of the first couple chapters of "A Discipline of Programming".
Dijkstra's mindset is not for everyone. It's the mindset of a computer scientist who wants to have confidence in his code, confidence that does not come from ego (I am aswome, therefor my code never stinks).
I think the ugly hack has it's place. After all, breaking a window is usualy a bad way to accomplish something, but if the context is you're trapped in a burning house, it's more likely a good move. Bodgeing it out has a similar context, but 99% of the people who don't value clean, well considered code are not in that context. And of the 1% who are, I would bet many of them are in that burning house because someone before them didn't value clean and well considered code.
Scalping. Incorrectly associated with the American Indians, was invented by the French.
i should shoot my dad for letting me play with BASIC when i was 6 on that damned apple //e.
seriously, though, that's a great freakin' quote.
-ac
OK, I read his "GOTOs considered Harmful" article, and I can't believe he lived another 34 years after it was published. Surely *somebody* tried to kill him to prevent him from writing more stuff like that!!!! Ugg. (and for the record, I don't like GOTOs either)
Eukreka! I have finally figured out this piece of Micro$haft code. take a look....
//collect alot of $$$ from support calls
HoursUptime=Rand(3)
If SystemRunTime == HoursUptime Goto Hell;
Hell:
Call ClearScreen(blue);
Call DumpRandomBytesToScreen();
Call FreezeOver;
Halt
From excellent karma to terible karma with a single +5 funny post...
I can't help but think of Dijkstra when I think back to my collge days. I remember the class discussion about Semaphores in the operating systems principles class I was taking as part of my C/S coursework.
Rest In Peace E. W. Dijkstra.
In my first programming job in 1983 I had to translate a Fortran II program to Fortran IV. Fortran II has computed GOTOs and Fortran IV had the .GT. / .LE. symbols.
My how far we've come.
Dijstra. I've never met him. The papers I read in college though changed my life forever.
this is the slashdot crowd. The same one that gets all crazy about MS or DRM or RMS. The rabble cannot "clean up" for this important post. Be kinder.
There is an old zen saying:
Show a swordsman your sword
Show a poet your poem.
Slashdot is just slashdot.
I had Dijkstra for a graduate CS class in the Fall of 1996. It was an exploration of elegance in the process of quantitative reasoning. I must say that he taught me the virtue of careful thinking more so than any other instructor during my formal education. Check out this link starting around manuscript 1237 to see the course notes. As an example, he showed us an algorithm for calculating increasing cubes (x^3 for x=1 to N) of integers that reduces to 2 C statements and uses only integer addition and initial assignment as operators. E-mail me if you want the code. Hint: It would only be a 2 statement algorithm for any arbitrary polynomial function.
k u r t AT s p a c e s h i p . c o m
Like previous posts, I agree that as students in the field of CS, we are lucky that most of our 'greats', 'leaders' are still alive - maybe because CS is relatively new, etc, for a discipline
A professor that teaches eecs20 predicted that in the future (this was in a paper): Link to Paper Software would be taught akin to Literature, where students would be studying the 'greats' (he cites Kernighan, Knuth, Linus Torvalds) and there would be things such as 'slang' etc, in the syntax, SO why do you think that we really have scarce knowledge of the greats now?
Well, just some random thoughts.
A. Stepanov: "At that time I also discovered books of two great computer scientists from whose work I learned the scientific foundation of my trade: Donald Knuth and Edsger Dijkstra. Knuth taught me the answers. Dijkstra taught me the questions."
Was he a nigger then? If so I'm going to start using goto in everything I code.
Never trust a nigger. Ever.
Racial integration considered harmful. That's the beauty of melting pots. All the scum rises to the top.
Dijkstra's Law (of Programming Inertia):
If you don't know what your program is supposed to do, you'd better not start writing it.
I'm very sorry to hear he's died, even though I never met the good Doctor. In fact, each time I'm led off into the weeds by some dumbass project manager who misinterprets XP or RAD or ??? into contradicting this law, I quote Dijkstra's Law to anyone nearby. Along with quoting from Yourdon's "Death March", it's my favorite self-help therapy method.
Forgive me if this was already posted...
"It is practically impossible to teach good programming style to students that have had prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
-- E.W. Dijkstra
RIP, buddy!
zLet's not forget this bit of fun. We can banish goto forever now that someone finally invented
comefrom.
Those who actually read the linux kernel source codem probably already knew Dijkstra and his god-like powers in the computer-sciences.
But for those who put their nose in there and juts read the comments, there are some references
Fr example: drivers/scsi/NCR5380.c
echo '[q]sa[ln0=aln80~Psnlbx]16isb572CCB9AE9DB03273snlbxq' |dc
What I think of the swiss behaviour during WW2 ?
d .htm by an american.
Well, it's explained here: http://www.davekopel.com/2A/Mags/TargetSwitzerlan
Don't get me wrong, every country had done good and bad things, including Switzerland and european countries(colonialism comes to mind).
What annoys me A LOT is that USA tend to think that they are a better country than any other when it comes to freedom, free speech, etc...
Well, I've been living in Seattle for two years now, and even though USA is not a dictatorship, there's definitely not more freedom than in western european countries, the main difference is that citizens in this country are more ignorant to how the world around them evolve because the education system and the TV in USA SUCKS REALLY BAD.
Moreover, this country absolutely refuse severything that is not 100% in its best interest even though it would be in the best interest of the world as a whole, things like the Kyoto protocol, the international tribunal on war crime,... have been accepted by a majority of countries all around the world, but USA refuses them and tries to undermine them because even though is does not represent a threat of an kind to USA, it does not serve their interest.
That kind of thing creates a lot enemies around the world, it would be much better to use common sense to avoid having enemies around the world than sending soldiers.
Switzerland is a country respected everywhere around the world because it does not mess up with other countries interests, and that's the reason why terrorists do not attack Switzerland, why people in Switzerland do not live with the fear of being targeted, and that's a much better way of life from my experience.
Just my 2 cents.
It seems to be common for computer science students to pull all-nighters and consume copious amounts of caffeinated substances.
Perhaps we should celebrate his life by an all-nighter, worldwide? Maybe a code-a-thon or something...
What's this "author of the famous book 'go to considered dangerous'"? I've never heard of the book, and I'm sure most people haven't. Maybe it's famous to the people that were alive when Eniac was being designed, but for the majority of the population, it's not at all famous.
It is sad that in the last decade of so, CEOs like Bill Gates and Jeff Bezos have gained so much public recognition while people Dijkstra languish in relative anonymity.
and in his time, whom do you think was more famous, Newton or his King/Queen ? Lagrange or whatever Louie ruled then ?
True metal survives the acid test of time. The ornamentations, the hype-sellers, the gates'es and Bezos'es, will be forgotten by everyone (except historians) by the next century.
Dijkstra's shortest-path algorithm and other works will be remembered in centuries to come.
Working for necessity's mother.
No-one mentions the Shortest Path First Alogirthm!! Cmon guys think about an internet without Dijkstra's SPF!
Threads/Tasks etc have their foundation in the work he did for Semaphores. The fanciest ADA protected types and Java Monitors can trace their origins to Dijkstra.
Voltaire: God is dead.
God: Voltaire is dead!
Quote from the UTexas eulogy: "He and his wife had a fondness for exploring state and national parks in their Volkswagen bus, dubbed the Touring Machine, in which he wrote many technical papers." Now THAT's a computer scientist! And RIP, Edgar W. Dijkstra.
Americans call him by name, Europeans call him by value.
There's something I've always thought about these times: we're living in the "awakening" of future computing. This means that many of the people that made all of this (Internet, PCs, Linux, Windows ...) possible, are still alive. Many of the founders of future computing are still alive, among us. I'm part of a LUG, and I said sometimes that it would be really cool to be able to bring some of this people, to speak with them. Imagine chatting about C with Kernighan or Ritchie? About Linux with Alan Cox, Linus or any of the kernel hackers?
To see this in context: it's like if we could speak live with Newton or Einstein. This people have done things that changed our world deeply, and we have the chance to ask them about what and why they did.
Oh well. I know what I want to tell, but I don't know how. Fsck it. Djystra was one of this people that I always heard about, and now he's gone. Makes you feel a bit older (specially with my birthday in a few days).
My weblog in spanish
The death of EWD is a sad day indeed. He was a pioneer to whom we all owe a great deal. He left us as a legacy, the basis for the best in routing protocols, and so much more.
My most sincere condolences to the family and friends of EWD.
The djikstra SP algorithm will live on.
I hope I had moderation points for this !
:)
So true
respect, awe, humility and thanks to one of the greats who put up the signposts on the road we now all travel. stand up and make some noise, this one deserves a proper send off!
I believe the Internet core routing protocols use Dijkstra's shortest path algorithm, whereas RTS games probably use the A* algorithm to find approximate shortest paths. So everyone who accesses slashdot remotely uses his algorithm... :) IIRC, Dijkstra also developed semaphores and mutexes, according to our old friend Andy Tannenbaum, which are an absolute requirement for any multitasking, multithreaded OS. Gosh, the man was a legend...
Qu'on me donne six lignes écrites de la main du plus honnête homme, j'y trouverai de quoi le faire pendre.
I seem to recall the story about young Dijkstra, at the [Dutch?] Marriage License bureau... being asked to state his occupation, EWD replied "programmer"
Unfortunately, at the time, "programmer" was not an acceptable (or even known) occupation, and he had to come up with something else... what that something else was, I do not recall...
Does someone else here know?
TIA
Rest in peace, Professor Dijkstra. You have given us much and we thank you.
BRENT ROCKWOOD, EST'd 1975
I had a friend working for the computer center at UT. She emails me that she just done such-and-such a thing for Professor Dijkstra. Upon reading this, I of course send some reply about all the stuff he has done, and how it must be cool to have met him, etc, etc, and she replies, "I didn't know he was famous. I just thought he was a nice old man!"
So, here's to a great computer scientist and a "nice old man". May he rest in peace.
"The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense."
Later,
Phil
I prefer this one /* You sunk my battleship! */
net/ipv6/tcp_ipv6.c:
goto hit;
Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
I took a course he taught at UT Austin. The final exam was oral, one-on-one, for about two hours or so. I walked into his office at the end of the hall, which was larger than the classroom was. Actually, I don't walk into the office; I walk into the waiting room leading to the office.
So there's this huge room, with two walls covered in bookshelves, filled with books, periodicals, publications, a picture of Dijkstra in his graduation robes, awards, etc., all neatly arranged. I get the feeling the Doctor has written half of what's shelved there. (Knuth wrote half of the rest, I reckon.)
Dr. Dijkstra sits me down, and after a quick chat, launches into the first problem. It's a proof, fairly simple. After presenting the problem, he sits down in the chair across from me, and waits, quietly and patiently. On me.
I got so flustered I ended up with a B. One of my great regrets.
Lately democracy seems to be based on the skybox, the Happy Meal box, the X-box, and the idiot box.
For an older view, try:
A Discipline of Programming
for a more refined, later view, read:
Predicate Calculus and Program Semantics
Many people are showing their lack of knowledge by endlessly citing the GOTO thing--which was a letter, not even a paper. But Dijkstra's main work was in what he called the calculation of programs: developing provably correct programs. Yes, it isn't everyone's cup of tea, and no it isn't completely realistic for most purposes, but it is some brilliant, pioneering work.
There are three classes of programmers out there:
First, those who say, "Dijkstra was a genius; if only every programmer followed his dictates."
Second, those who say, "Dijkstra was a complete iconoclast; he had a lot of good ideas, but his approach wasn't practical in the real world."
Third, those who say, "Dijkstra who?"
Sadly, there are a lot of third class programmers out there.
Stupid job ads, weird spam, occasional insight at
Dijkstra was one of the pioneers in computer science. In most CS courses you can learn about Dijkstra work on semaphores and concurrency.
The Dining Philosophers problem is a famous synchronization problem proposed by Dijkstra concerning resource allocation between processes.
Here you can see some of his papers.
MOD THE CHILD UP!
There's no sign of Dijkstra on CNN ....but it ran a headline about a dog caught in the sea for nearly a week, a month ago...what's wrong with this world?
Wow, I had no idea. This is very sad.
I was fortunate enough to have been at The University of Texas at Austin during his last few years there. Unfortunately, I didn't often take advantage of the great opportunity that gave me. I did see him speak twice, during my (and his) last year. The most striking thing about him was the quiet way in which he spoke. We all pressed ourselves as close to the front of the room as we could, and didn't make a sound, lest we miss something. He talked about his life, and how he was a "programmer" in The Netherlands at a time when there was no such thing. He was a very interesting man -- I only wish I had had a chance to actually meet with him, and discuss one of his many fascinating ideas. He has contributed so much to computer science, and he didn't even like using computers. He will be missed.
Rest in peace, Edsger Dijkstra. And may your soul move on to even greater heights in the future.
I received my computer science degree from the University of Texas, where Dr. Dijkstra taught before retiring. I never took the undergraduate class he offered (I was kind of intimidated at the time), but the professor who taught my Software Engineering class had him come in to lecture one day.
This software engineering class was very pragmatic, emphasizing methodical design, implentation, and testing. As I recall, Dr. Dijkstra gave his lecture near the end of our semester, by which time we had been heavily involved in something resembling a team development evironment for a few months.. There was a very corporate feeling to our regimen of meetings and reports.
So one day we all go to the faculty lounge to hear the esteemed professor speak. He comes in the door of the lounge appearing to me most unlike the kind of man who could write so forcefully about programming, dressed in shorts and a tee-shirt with a distinctly old-grandfather look on his face.
In his very soft-spoken manner, he told us that he beleived that the main problem with programmers was a lack of rigor. People were so concerned with coding and testing that they never learned how to write something correctly the first time. He asked us to prove the correctness of the code for a binary search and spent the next half-hour proceeding glumly as we slowly worked through the process with him.
I got the impression we were a vaguely dissapointing group of students who he could tell were not convinced of the validity of his approach. It wasn't even a bitter dissapointment, though. I felt as though he was someone who had totally convinced himself that he knew how to make the world a better place, but that noone was listening.
He answered our questions about "gotos considered harmful" (it was his editor's idea to give it the cute title) with what I considered obvious patience. He talked about how he really only was able to keep up on the research that people referred to him these days. And then the lecture was over.
Our professor and Dr. Dijkstra were good friends, and I hung around after class talking with them about computer science and Dijksta's past. I ended up in his office after a while and we chatted about the current state of the industry as he saw it, why he really liked Texas, and so on. He was so intelligent in his conversation--asked so many probling questions--that by the time I was done I felt both touched and exhausted. He put on his cowboy hat and walked out of the office with me and headed off to his next appointment.
That was the last time I saw Esdgar Dijkstra--the only real time I ever talked to him. But I feel that the world has lost a quiet crusader, and I feel a tug in my heart thinking about this old dean of computer science with his cowboy hat.
-- Have you ever imagined a world with no hypothetical situations?
It is practically impossible to teach good programming style to students that have had prior exposure to BASIC; as potential programmers they are mentally mutilated beyond hope of regeneration.
APL is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past: it creates a new generation of coding bums.
The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence.
When FORTRAN has been called an infantile disorder, PL/I, with its growth characteristics of a dangerous tumor, could turn out to be a fatal disease.
COBOL is for morons.
With respect to COBOL you can really do only one of two things: fight the disease or pretend that it does not exist.
The question of whether computers can think is like the question of whether submarines can swim.
Stupid job ads, weird spam, occasional insight at
In my career, I've been able to meet or at least see in person Grace Murray Hopper, Edsger Dijkstra, Niklaus Wirt (who autographed my Modula-3 book), Donald Knuth, and several others. What physicist wouldn't kill for the opportunity to meet Isaac Newton?
He was the Euclid of our times. Reading his writings I get the same feeling of economy, conciseness, clarity, effectivity that I do when reading the Elements. His calculational style of proof is, to me, entirely on par with Euclid's use of the Theory of Proporions.
I hope it won't have to take two thousand years before we recognize his fundamental brilliance.
Math *is* a science. More than that, it's an empirical science. I suggest that no proof has ever been found, for which the theorem was not previously believed to be true (by experiments with numbers, etc.)
May Edsger Dijkstra take the shortest path to Heaven. It's sad, really, that all the greats of computer science have begun dying off, btu I am excited by the opportunity to be in sich a new field, with the ability to contribute so much to it in the future.
-- Mark Lyon http://www.marklyon.org
guybarr, you are my hero, and I'm not being sarcastic. I've never more wished that I had mod points than for this post. If more people would keep this thought in mind as they lived their lives, and try to be a Dijkstra rather than a Gates, the world would be a vastly, vastly better place.
Just trying to open someone's head! I mean "mind!" Open someone's mind, um, to the possibilities! With explosives!
TRANSLATION:
Switzerland is a country that is eager to help hide blood money so long as they get a cut. Nazi's, Islamists... so long as they get paid, they'll hold their handbag while they beat the nuns. Oh, and they're pretty good at trying to blame their air traffic control screwups on the Russians too!
See... now that's really bigoted... so why is it okay when people slam my good neighbour to the south. stupid Euro's with their damn small-penis syndrome...
Enby in Waltham
Where did Dijkstra goto after he died?
RIP.
As he also said "OOP is an exceptionally bad idea which could only have originated in California," you becoming proficient in OOP after starting with BASIC is unlikely to convince him that his assessment of people who start with BASIC was wrong. =]
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
"You are old, Father Edsger," the young man said,
"All your papers these days look the same;
Those EWD's would be better unread --
Do these facts never fill you with shame?"
"In my youth," Father Edsger replied to his son,
"I wrote wonderful papers galore;
But the great reputation I found that I'd won,
Made it pointless to think any more."
"You are old," said the youth, "as I mentioned before,
And make errors few people could bear;
You complain about everyone's English but yours --
Do you really think this is quite fair?"
"I make lots of mistakes," Father Edsger declared,
"But my stature these days is so great
That no critic can hurt me -- I've got them all scared,
And to stop me it's now far too late."
"You are old," said the youth, "and your programs don't run,
And there isn't one language you like;
Yet of useful suggestions for help you have none --
Have you thought about taking a hike?"
"Since I never write programs," his father replied,
"Every language looks equally bad;
Yet the people keep paying to read all my books
And don't realize that they've been had."
"You are old," said the youth, "and I'm told by my peers
That your lectures bore people to death.
Yet you talk at one hundred conventions per year --
Don't you think that you should save your breath?"
"I have answered three questions, and that is enough,"
Said his father. "Don't give yourself airs!
Do you think I can listen all day to such stuff?
Be off, or I'll kick you down stairs!"
"I'm a ChickenHawk, and I only eat Chickens!" heh.
I've actually only now found out that he went to the same school I did... I went there for seven years, and they never told me that. They only tell you how proud they are about how many stupid politicians and artists were pupils there.
I'd support renaming the Ted Williams Tunnel here in Boston to the Edsger Dijkstra Tunnel but then it would never let me GOTO anywhere!
*load groan*
It is by the juice of the coffee bean that thoughts acquire speed, the teeth acquire stains. The stains become a warning
My deepest condolences to his family and friends.
regards,
Ali Bahar,
Software Engineer,
Toronto, Canada.