Live data from Hacker News

Edsger Dijkstra carried computer science on his shoulders (2020)

inference-review.com

71–80 of 229 posts

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

#72
post #43

> "Whether written using a fountain pen or typewriter, Dijkstra’s technical reports were composed at a speed of around three words per minute. “The rest of the time,” he remarked, “is taken up by thinking.”9 For Dijkstra, writing and thinking blended into one activity. When preparing a new EWD, he always sought to produce the final version from the outset." > "He also never purchased a computer. Eventually, in the la…

3 WPM really shook me as well. Today we complain about not having enough time to work on our projects, but back in the good old days, as successful as Dijkstra was, got time to spend 3 WPM and still produced close to 7k articles! Astonishing.

I'm sure not owning a TV, let alone social media or YouTube, gave him a lot more time to work.

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

#73
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…

whats wrong with object oriented programming?

https://en.wikipedia.org/wiki/Object-oriented_programming

You can find some criticism points in there

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

#74
post #60

Earlier quoted context omitted.

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…

One of the best remembered, and which led to harmful prejudice against BASIC. While the foundation of the criticism makes sense, it led to silly notions as "there is never a case where GOTOs are useful" and "people who start with BASIC are broken programmers forever"

He was also against LISP, but turned around in 1999:

https://www.cs.utexas.edu/users/EWD/transcriptions/EWD12xx/E... "I must confess that I was very slow on appreciating LISP’s merits. My first introduction was via a paper that defined the semantics of LISP in terms of LISP, I did not see how that could make sense, I rejected the paper and LISP with it."

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

#75
post #60

Earlier quoted context omitted.

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…

One of the best remembered, and which led to harmful prejudice against BASIC. While the foundation of the criticism makes sense, it led to silly notions as "there is never a case where GOTOs are useful" and "people who start with BASIC are broken programmers forever"

The problem with unrestricted GOTO isn’t that they’re never useful or that bad people use them. The problem is specifically that they make predicate transformer semantics (and probably other formalisms) pragmatically useless.

For example in a language without GOTO inside an if statement the guarding condition is known to be a predicate (at least until another operation changes it) whereas in a language with unrestricted GOTO there is no guarantee whatsoever that the guard holds since execution could have jumped past it.

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

#76
post #43

> "Whether written using a fountain pen or typewriter, Dijkstra’s technical reports were composed at a speed of around three words per minute. “The rest of the time,” he remarked, “is taken up by thinking.”9 For Dijkstra, writing and thinking blended into one activity. When preparing a new EWD, he always sought to produce the final version from the outset." > "He also never purchased a computer. Eventually, in the la…

3 WPM really shook me as well. Today we complain about not having enough time to work on our projects, but back in the good old days, as successful as Dijkstra was, got time to spend 3 WPM and still produced close to 7k articles! Astonishing.

At least as I see my colleagues who buy special keyboards to type code faster and still being hellishly unproductive, deleting and rewriting while I prefer to think before typing and have a solution that works when I type it in instead of iterating over solutions that cannot work in the first place. When I type it's fast, I just don't do it so much compared to my peers, but I am more productive delivering working code.

Writing with a pen I tried, but no-one, including me, can read it after...

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

#77
EWD is one of my intellectual heroes. His reasoning exemplifies the philosophical goal of making ideas both clear and distinct. His equational proof is a standout example of the tools he used to do so.

About a decade ago, over the course of a few months I skimmed through the archive of his notes[1] and at least perused the majority and dug deeper into the more tantalizing ones. I dare say that it was one of the most educational periods of my professional life.

Also, I find his more acerbic observations amusing, but they’re mostly confined to non-technical notes and easily skipped. And who among us hasn’t shared frustration against this or that unfortunate fad in our field?

[1] https://www.cs.utexas.edu/users/EWD/transcriptions/transcrip...

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

#78
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…

Is that the Smalltalk kind of OO or the C++ kind?

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

#79
post #65

Earlier quoted context omitted.

Most real world problems don’t fit into neatly into hierarchical structures. OOP pushes you towards trying to model everything in the world an objects with strictly defined operations that can be performed on, where those actions are determined by the data type itself. You end up being forced to co-mingle your data structure design, with your data processing design. Which tends to be rather unhelpful. Keeping your da…

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 against it because every individual has at least one definition in his head and it shifts through the conversation toward the one that's not refuted by the claims.

the intent of such concepts is to hit you in the feels and trigger some ideals inside you, so that you associate the positive feelings you have toward those ideals to the concept.

if you argue about it as it is used in practice you will inevitably have someone bring up that java style OOP is not true OOP and that you should look intro Smalltalk or some other language that implement "Real OOP".

since arguing about specifics is a losing battle, lets argue about the bigger picture, if we take the goals of alain kay like he talked about in many of his talks his goals was to make systems more like biogology, but as a system designer the last thing you want to do is that. we don't know much about biology, people in that field a still reverse engineering pre-existing designs to this day and not designing much of their own from scratch. If you design a system you want to have the most control and foresight in the dynamics of your systems, uncontrolled & unintended emergent effects are your source of problems.

entangling data and behavior make your conceptual design state-space size explode, when you go full OOP you become an ontologist philosophizing about what is an X and what is an X-manager, X-Provider, ... and less of a system designer trying to make sure your system does not land in the wrong states.

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

#80
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…

I really think that it is a disservice to Dijkstra to remember him as the Don Rickles of computer science.
Post reply on HN