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...
Did Dijkstra ever write down a personal insult like this against anyone? I haven't come across it...
Edsger Dijkstra carried computer science on his shoulders (2020)
161–170 of 229 posts
Re: Edsger Dijkstra carried computer science on his shoulders (2020)
#162Earlier quoted context omitted.
> Single exit, though, means no "break", or "continue" for loops, and no early returns from functions. Sounds like pretty standard functional programming a la Standard ML or Haskell, or am I missing something?
Guard clauses are considered good practice in many languages, as opposed to nested if's. I'm not saying either approach is generally the right one, but I think it's interesting that best practice can be the polar opposite of his "single exit" recommendation
> The guard is a proposition, which must be true before the statement is executed. At the start of that statement's execution, one may assume the guard to be true. Also, if the guard is false, the statement will not be executed. The use of guarded commands makes it easier to prove the program meets the specification. The statement is often another guarded command.
Re: Edsger Dijkstra carried computer science on his shoulders (2020)
#163Earlier quoted context omitted.
There’s no other way to do it for this type of a brain. I know because I have the same type of brain. I spend 90% of my time formulating descriptions of the problem and the desired end state Hallucinating futures where the state of the world is in a state that I either wanted to be or that somebody’s asking me to build Once you know your final end state, then you need to evaluate the current state of the things that…
Interesting. I try to do something like this, but way simpler and my productivity is low right now. Maybe more practice will help. Would you say you're usually good at doing this and getting results?
So you can basically hand me any problem and I will implement this process, and I have a high success rate for delivering desired outcomes.
And again, this isn’t really like my process I invented. It boils down into a practical implementation of a Markoff process in planning as applied to any set of tasks such they could be discretely described as a state machine.
The key challenge IMO is in describing the state machine, and that is what takes a lot of elucidation.
In many cases we don’t have the ability to precisely describe a process as a state machine because we haven’t defined the boundaries of the system, and then measured it enough, in enough different dimensions, across enough time to be able to give that level of understanding to input an outputs.
Re: Edsger Dijkstra carried computer science on his shoulders (2020)
#164Re: Edsger Dijkstra carried computer science on his shoulders (2020)
#165Earlier quoted context omitted.
People buy special keyboards because they enjoy using them, not because they’re faster to type on.
What baffles me is that some people aren't willing to buy nice peripherals. I don't know about anybody else, but I spend 8-18 hours a day attached to a mouse and keyboard. I'm not going to use one that doesn't feel good to me.
Re: Edsger Dijkstra carried computer science on his shoulders (2020)
#166Ok, 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...
But Dijkstra is the poster child for that sort of thing.
Re: Edsger Dijkstra carried computer science on his shoulders (2020)
#167I just found this. First paragraph says it all. https://www.cs.utexas.edu/users/EWD/ewd13xx/EWD1316.PDF
Re: Edsger Dijkstra carried computer science on his shoulders (2020)
#168> "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…
Re: Edsger Dijkstra carried computer science on his shoulders (2020)
#169Dijkstra 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.
Re: Edsger Dijkstra carried computer science on his shoulders (2020)
#170Earlier 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…
I think the main problem with OOP is that the classic animal/cat/dog type class hierarchy examples that are used in teaching are in fact hardly ever used in the real world - giving a very misleading view of how it's actually used in practice. Most people using OOP languages prefer composition over hierarchies and I almost never see those complex class structures modelled on data ( for some of the reasons you give ).…