Live data from Hacker News

Edsger Dijkstra carried computer science on his shoulders (2020)

inference-review.com

91–100 of 229 posts

Re: Edsger Dijkstra carried computer science on his shoulders (2020)

#91
post #16

Dijkstra is a wonderful source of memorable quotes and hot takes from the early days of software. A sampling: > “The competent programmer is fully aware of the limited size of his own skull. He therefore approaches his task with full humility, and avoids clever tricks like the plague.” (Dijkstra, 1972) > “The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense.” (Dijkstra…

One of my favorite quotes from Dijkstra is his not so subtle dig on the arrogance of MIT professors on refusing to adopt his solutions to their problems in OS design. Given the time of the remarks, they're most probably the original designers of the ill fated Multics OS.

"You can hardly blame M.I.T. for not taking notice of an obscure computer scientist in a small town in the the Netherlands."

Re: Edsger Dijkstra carried computer science on his shoulders (2020)

#92
post #16

Dijkstra is a wonderful source of memorable quotes and hot takes from the early days of software. A sampling: > “The competent programmer is fully aware of the limited size of his own skull. He therefore approaches his task with full humility, and avoids clever tricks like the plague.” (Dijkstra, 1972) > “The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense.” (Dijkstra…

He's the GOAT of hot takes. His critique of the GOTO statement in a 1968 letter to the ACM, which they retitled "Go-to statement considered harmful", is one of the best remembered critiques in programming history. The phrase "considered harmful" has become a meme and is the go-to phrase (pun intended) for essayists looking to criticise some aspect of computing https://www.cs.utexas.edu/users/EWD/ewd02xx/EWD215.PDF ht…

The GOTO-paper is widely misunderstood though. It is making a case for blocks and scopes and functions as structures which makes it easier to analyze and reason about the execution of complex programs. The case against unconstrained GOTO follows naturally from this since you can't have those structures in combination with unconstrained GOTO.

Re: Edsger Dijkstra carried computer science on his shoulders (2020)

#93
post #79
post #65

Earlier quoted context omitted.

In OOP you can have data structures and algorithms separated. You can use composition over inheritance without issues. The fact that a language is strong typed and you get compilation errors if you forgot something is a big plus. OOP is fundamentally about no static variables.

don't conflate 'Objects' with 'Object Oriented Design', if you split your data Structures from you algos then your just using an OOP-language to do programming not doing OOP. strong typing has nothing to do with OOP. static variable are replaced by singletons and other similar in spirit objects. OOP today is a 'No true Scotsman' concept much like communism, agile, and other vague by design terms. You can't argue agai…

Aren't you then just attacking a programming style that nobody actually uses or advocates?

One of the most influential books about OOP - "Design Patterns: Elements of Reusable Object-Oriented Software" - talks about composition, separating interface from implementation etc - not about hierarchies ( other than to prefer composition ).

Re: Edsger Dijkstra carried computer science on his shoulders (2020)

#94
post #40

Earlier quoted context omitted.

Perhaps even more relevant nowadays My point today is that, if we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent": the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger. https://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/E...

I'm not sure if it's due to having come across this quote long ago, but this idea is ingrained in my bones. Except I think people have often overly focused on "lines of code" as the unit for this metric, leading many to overrate terse code, even when it is very dense. But I'm not sure what wording would capture this idea succinctly enough to include it in a pithy quote.

Every program should be as simple as possible, but no simpler.

Re: Edsger Dijkstra carried computer science on his shoulders (2020)

#95
post #64

Earlier quoted context omitted.

Yes. He was interested in problem-solving, not philosophizing. The debates about AI going on right now are the kind he’d prefer to avoid.

To be fair, 10+ years ago this conversation definitely would have been pretty silly. Maybe about as interesting as asking "is there other life in the universe". No one knows the answer, it's an incredibly over discussed topic, and we won't know for sure for many years. I think those points still apply to AI intelligence today. However, the power of today's AI greatly outstrips anything Djikstra would have seen in his…

The point isn't about whether it is unknowable or not - rather does having the answer have any practical value - ie does the attribution of 'thinking' add any value to understanding a program?

Re: Edsger Dijkstra carried computer science on his shoulders (2020)

#96
post #16

Dijkstra is a wonderful source of memorable quotes and hot takes from the early days of software. A sampling: > “The competent programmer is fully aware of the limited size of his own skull. He therefore approaches his task with full humility, and avoids clever tricks like the plague.” (Dijkstra, 1972) > “The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense.” (Dijkstra…

Half of his clever quotes are completely bonkers though and have been disproven by history. How many of you are proving your programs correct before entering them into the computer? Because that is the only correct way to program. And remember he disparaged Margaret Hamiltons software methodology. Sure, she helped put a man on the moon, but apparently she did it the wrong way.

I suspect geeks like Dijkstra because he is "edgy" more than because he is correct.

Also, Object-Oriented programming was actually invented in Norway, even though Alan Kay of Smalltalk fame tried to take credit.

He was right about GOTO though, but many developers did not even understand his argument but just read the headline and concluded "GOTO bad".

Re: Edsger Dijkstra carried computer science on his shoulders (2020)

#97
There are more anecdotes about Dijkstra in this collection of testimonials written by his friends, colleagues, and students: https://arxiv.org/abs/2104.03392.

These are some of my favorites:

From Tony Hoare:

  They removed recursion from Algol 60, on the grounds of its alleged inefficiency. Edsger's answer was that recursion was a useful programming tool, and every workman should be allowed to fall in love with their tools. 
From J.R. Rao:

  He would repeatedly stress the importance of choosing words carefully: "If you have to use your hands, then there is something wrong with your words", he would say, adding "imagine there is a blind man in your audience, how would you speak?" 

  Over time, I came to learn and appreciate that Prof. Dijkstra's class was operating at two different planes. There was the lesson and then, the lesson within the lesson. At one level, the goal was to solve the presented problem. At the second and more richer meta-level was the approach for arriving at the solution. 

  Prof. Dijkstra taught us that in computing science, complexity comes for free; one has to work hard for simplicity. 
From Alain J. Martin:

  In his technical writing, he used language like a precision tool. For him, precision did not necessarily imply ease of reading, and he stated that the reader also had to make an effort to understand. 
From Christian Lengauer:

  Professionally, Edsger's impact on me is best summarized by his ATAC Rule 0: "Don't make a mess of it." It made me strive for simplicity in notation and modelling throughout my working life and take unpleasant complexity as an indication of a possible lack of comprehension. 

  I decided against writing with a fountain pen. He never took issue with this, except in a letter that he posted seven weeks before his death: "I hope you will overcome your resistance and learn how to fill a pen without soiling your fingers, or otherwise you are denying yourself one of the joys of life." These were his last written words to me. 
From Lex Bijlsma:

  A famous quote of EWD is the following: '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' (EWD1213). I can testify that this actually works. 
From K. Mani Chandy:

  When I write papers, even now, I still see Edsger over my shoulder going "Tsk! Tsk!" [...] I found that being less sloppy not only helped my readers understand what I had written, but most importantly, helped me from confusing myself.
From David Turner:

  I have an invisible Edsger inside my head which looks over my shoulder when I am writing and quietly goes "Tut tut" if I write something that is muddled or not accurate. I don't always listen to that voice but know I should. 
From J Strother Moore:

  At faculty meetings when Edsger was not present it was common for someone to say "If Edsger were here he'd say such-and-such." 

  He came to work in the summer wearing a big Texas cowboy hat - they are made to keep you cool in the Texas sun. Often he would have on a cowboy's string tie. So from the waist up, he looked more Texan than I did. But he almost always wore shorts and sandals, which ruined the cowboy image completely. 
From David Gries:

  Edsger critiqued not the person but only what they said, and later one could drink a beer and laugh as if nothing happened. Technical differences and shortcomings should be treated this way. 
From Maarten van Emden, edited for brevity:

  Douglas Engelbart aroused Dijkstra's ire so much that he needed a whole page of vituperative prose to offload his emotions (EWD387). What has Engelbart done to provoke this outburst? One only has to refer to "Engelbart's Law", see Wikipedia. Its reasoning seems to run as follows: look at what mere printing has done as a tool for thought; the system demonstrated is so much more powerful than printing that it must quickly lead to Intellect Augmentation. This way Engelbart showed no appreciation for the rich culture developed over centuries. What makes printing a powerful tool for thought is mostly due to other things than technology. Much of the power of this culture comes from publishers and editors, who sniff out what is worth printing and hold back what is not. Another important component of this culture is provided by libraries and librarians. Much is due to scholarly societies, which started printing their proceedings and to commercial publishers, which created journals, each with their editorial board and unseen bevy of reviewers. Most of all it is due to the idea of a university.

Re: Edsger Dijkstra carried computer science on his shoulders (2020)

#98

Ok, the first thought reading the title was "ah, surely this is about Dijkstras." The immediate second thought that came was the famous quote “I don't know how many of you have ever met Dijkstra, but you probably know that arrogance in computer science is measured in nano-Dijkstras”, from Alan Kay should I believe https://www.goodreads.com/quotes/69528-i-don-t-know-how-many...

Hmm, time will tell on this rivalry. OOP may not be as harmful as GOTO, but it does seem to be falling out of favor. Dijkstras point of view may be as vindicated with one as with the other.

Being correct or incorrect is orthogonal to arrogance.

Re: Edsger Dijkstra carried computer science on his shoulders (2020)

#99
post #16

Dijkstra is a wonderful source of memorable quotes and hot takes from the early days of software. A sampling: > “The competent programmer is fully aware of the limited size of his own skull. He therefore approaches his task with full humility, and avoids clever tricks like the plague.” (Dijkstra, 1972) > “The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense.” (Dijkstra…

[deleted]

Re: Edsger Dijkstra carried computer science on his shoulders (2020)

#100
post #40

Earlier quoted context omitted.

Perhaps even more relevant nowadays My point today is that, if we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent": the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger. https://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/E...

I'm not sure if it's due to having come across this quote long ago, but this idea is ingrained in my bones. Except I think people have often overly focused on "lines of code" as the unit for this metric, leading many to overrate terse code, even when it is very dense. But I'm not sure what wording would capture this idea succinctly enough to include it in a pithy quote.

There's a benefit to terseness. Go's naming conventions are superior to Java's.

APL (and it's many cousins) is a bridge too far for me, but I can see the appeal to having the entire program on a single screen.

Post reply on HN