Noting the crossouts and Tipp-Ex used here (for a "quick" note to an aspiring teenager), I wonder what EWD did to get the very clean handwritten copy in the EWD series? Did he re-pen a final draft?
I don't know for sure, but I suspect so. He was meticulous in so many ways, including his thought, his language, and of course his handwriting, so it seems entirely in character that he would redo a draft to make it look flawless.
My favourite EWD anecdote was a mention of his upbringing, which explains how he was far more articulate in my mother tongue than I am: he was taught never to start uttering a sentence before he knew how it would end.
Actually I have an even more amazing artifact. He wrote out the entire book "Predicate Calculus and Program Semantics" as a manuscript, beautifully formatted two pages to a letter-sized sheet, page numbers and all. It is nearly perfect but does have a few crossed out bits. I can't find that anywhere online, and just sent an email to the EWD archive. I'd be very surprised if I have the only extant copy, but if so I will certainly get it properly preserved.
This letter suggests that Dijkstra's tone was a function of intended audience: the aphorisms which inspired the nano-Dijkstra (as measure of arrogance) were intended for peers, Who Should Have Known Better; the supportive encouragement was intended for a junior, Who May Yet Someday Do Something Interesting.
Too often i see people being dismissive of Dijkstra because of his aphorisms, they don't understand the context that drove it.
In my mind he was a "True Perfectionist" who demanded Perfection of himself and everybody else. It was a rare uncompromising and mathematically focused mind well suited to the then nascent "Computing Science" field.
while there is something to this, it is also important context that io was already something very interesting indeed; though raph was 19 he was already advancing human knowledge in a way that many of dijkstra's supposed peers were failing to do
it is a shame that io is not more well known, because it is a brilliant achievement; by virtue of a simple syntactic trick it turns explicit cps code from its usual impenetrable form into something quite readable
Viewing continuations as the "mother of all monads", this work (1989) could have anticipated Moggi (1991) if there had been continued development in that direction!
(it would've taken much more work though, as IIRC EWD noted Io as presented wasn't properly associative in ';')
that's right, it's unrelated to steve dekorte's io, which is also kind of cool but not in the same fundamental way
levien's io is maybe less practical, though it's hard to tell since nobody's done the work of putting together an implementation with batteries
my notes on it from sometime in 02007–02009 are at https://dercuano.github.io/notes/raph-io.html but i didn't have a copy of the actual paper at the time, just some badly ocred code and quotes from the paper, plus some commentary
Just read all his letters; he was snarky because he was concerned about the state of computing. In some ways I think he was right. My father studied under him and I studied under some of his pupils: my father always said that Dijkstra was concerned that young people would be too sloppy about computing, creating all kinds of disasters and that's why he had to try his best to prevent that from happening. Dijkstra especially got angry at physicists for sloppy programming and believed it was a big issue going forward; mathematicians (computer scientists in uni's were mostly mathematicians) had enough rigor to prove the code correct before entering it into the computer. I am happy he didn't quite get to see that JS/PY are now so popular and that people without rigorous formal training are wielding these tools; he would've needed extensive therapy probably as his life's work basically failed.
Whenever I come across some new AI hype thing in the wild with the usual buzzwords, a sentence Dijkstra wrote way back sort of flashes through my head. It always reminds me to be careful and precise with words.
"...the question of whether Machines Can Think, a question of which we now know that it is about as relevant as the question of whether Submarines Can Swim."
In the same "post" he also talks a lot about hype and how it hurts the field. The last few years of computing have been exceptionally hype driven, even more than usual. We could've been better with a few more critics like him in that period.
There are certainly critics, but their opinions, if consistently opposed to the hype cycle, get either sidelined or lambasted. Just sort any post on some new ML application by controversial comments and you'll find the critics aplenty.
It's also a sentence constantly on my mind. It's interesting to note it's a very different type of criticism than the ones that usually balloon when something new or supposedly new becomes public.
It's the kind of criticism that leaves room for genuine acceptance of the technical excellence and usefulness of those tools, while not buying the hype in the slightest.
EWDs are a gold mine. He's an exceptional thinker and his prose is beautiful.
Thanks for sharing! I realize I should have been clearer in my request. I was looking for 1-2 specific recommendations. I will look at the lists nonetheless.
When I first saw the title of this post, my first thought was that that this was a letter written by ChatGPT pretending to be Djikstra. So I guess there is something to be said about hype ... not sure exactly what though.
Until I read your link (which was very interesting BTW) I interpreted that quote the other way: Is it your [the parent commenter] belief that we [AI researchers] are all idiots?" I mean, sure there's a lot of marketing junk, but it's almost as naive to assume that there's no substance as it is to believe everything the marketers say.
Having said that, I don't think any serious AI researcher would claim that their creations are close to actually thinking.
> I don't think any serious AI researcher would claim that their creations are close to actually thinking.
I don't think anybody seriously believes that -- but setting reasonable public expectations from emerging technologies is at least in part the responsibility of the "technically literate class" broadly defined, research scientists, practitioners, even developers in ML/AI-adjacent fields such as myself.
Stuff like "GPT3 is coming for your job" is already out to the press. Nobody thinks that, nobody has even said that, but nobody has done anything to set expectations straight either.
Yes, and something finally happened. A hell of a lot happened, actually, starting with AlphaGo and progressing to a credible Turing-test contestant only a couple of years later.
But yes, your deeper point is hard to dispute; this business has always run on punctuated equilibrium. We may be in for another 50+ years of "AI winter." I doubt it, though. It feels different this time.
What i would really like to see is some Scientist(s)/Researcher(s) from the Statistics/AI/ML field rise up in arms and deliver verbal/in-print smackdowns (in the spirit of Edsger Dijkstra) setting the record straight to every hack/company/management/whoever person(s) out there selling AI/ML snake-oil to the masses.
I interpreted it the same way. When millions of people work on or support a subject, be it AI, cloud computing, or football. Some of them must be way smarter, more ethical, more reasonable, more successful than me. I may find the subject dumb, but them I ask myself: why do these people do that? Or if it pays well, how come people don't do it instead of flipping burgers for a measly pay if it is so easy?
It doesn't mean it is right, but it is a good reminder that there is a high chance it is just me missing something.
As for the "marketing" thing, it is hard even for a full time teacher not to treat their audience as idiots and avoid losing them completely. Good teachers, when unsure, prefer to go the "idiot" path, not ideal, but at least your audience may understand something in the end.
I think AI lives up to the hype. The stuff we take for granted now was pure science-fiction just a couple of years ago. If this pace of development holds up it deserves to be hyped.
Sorry, english is not my native language, could you explain "...whether Submarines Can Swim." meaning?
Swim as fish (answer - no, because submarines swim using propellers and analogs), swim as underwater ship (answer - yes, because submarines build to swim)?
I think that you actually understood the point perfectly! I'm a native english speaker, and to me, it looks like he is trying to raise the exact ambiguities that you are asking about.
I don't think that his statement is meant to be an answer, rather, I think it's meant to be a statement to jump off of. It's bringing up how definitions matter, and that in different contexts the answer to the same questions could be yes or no.
Like many words in natural language, "Swim" does not have a precise meaning. A dictionary will probably say something like "Propel through water using limbs", although the word "swimming" can sometimes be used metaphorically, for example "I have bits of bacon swimming in my potato soup". Cleary, bacon does not have limbs!
Now even though Submarines (usually) have propellors, one can easily imagine a design that used limb-like oars to propel it. Does this mean that such a strange submarine is swimming?
The point Dijkstra was making is that the comparison is pointless: there is a fundamental difference between an organism swimming and a machine moving through water. Trying to equate these two actions is pointless, since it adds no new depth of understanding. He therefore dismisses the question of "can machines think" as having no usefulness.
My intent in quoting was to point out how careless usage of words in AI can fool people, especially the layperson and create wrong expectations. Most can see the difference in the usage of word 'swim' w.r.t fish and submarines, but public knowledge about AI is not at the point where they can make a similar distinction when using 'think' or 'chat' between human and machine.
He uses it differently though, he's using that sentence to criticize Alan Turing's early hypothesizing about AI. If you're interested, that document linked has more context.
I actually take this different. I take it to mean that machines can "think" in the same way that submarines can "swim" ... which is to say that they both can only do it at the pleasure, command, or creation of a human.
I know for myself it is very refreshing when a young person comes to you with question or problem that they have clearly spent a lot of time on. It certainly motivates me to provide detailed and extensive feedback. In the industry you unfortunately end up answering the same “dumb” questions ad nauseam. When something different comes along it is a joy.
Indeed. I think we've lost a little something from that era, though, where it took some effort to reach out, sending a letter on paper. These days, it's super easy to contact someone on social media or whatever, which is very convenient and efficient. Dijkstra to me really personified a slower, deeper way of interacting.
It's worth noting that Raph Levin (who this letter was a reply to) tackled many of the same problems that plague social media these days with the wonderful but now sadly mostly forgotten Advogato: https://en.wikipedia.org/wiki/Advogato
Wow; that looks familiar! I think your memorial is what got me started reading EWDs, all those decades ago. They eventually convinced me that my systems bias had been a giant shoulder-chip, and that theory folk also had something worth exploring. Thanks for having written it.
This looks incredibly cool! Crazy to think there were many good things on the internet that i just missed because they came before my time and I'll now never get to experience them.
People really should stop using Mastodon to try to share textual content. It just forces people to enable javascript, and spy on them. (There should be a way to force people and companies to share text without javascript, if not legally, then socially.)
Agreed on the overuse of javascript, although in this case I'm reasonably confident mastodon is not using said javascript to spy on you. Nevertheless it's something mastodon should try to fix. This is very much static content, no valid reason why it wouldn't display without javascript.
If they can use it, then it's not a question of if, but a question of when. (something something law of big numbers, 1-(1-p)^t tends to 1, as t tends to infinity)
Anyway, it is a big step in the wrong direction, and people that care about web or privacy really shouldn't post on mastodon in its current form.
I realise indeed, that's why I wrote twitter/nitter. I don't care about the openness of the scripts, since they don't run. Also someone compromise mastodon, and you can eat your open and reviewed scripts.
Let me repeat my point again: don't publish text on media that javascript walls it. It is so wrong on so many levels. In regards of privacy, safety, environment, speed, accessibility, etc etc etc, javascript wall is total bonkers, and should be considered as unacceptable.
Personally I'm genuinely interested about this issue. In the spirit of the infamous Dijkstra's Go To Statement Considered Harmful article, perhaps someone can write similar article on Javascript Wall Considered Harmful to be learnt and studied by later generations.
If there is one thing Dijkstra was not, it is humble. That he used false humility as a textual device is obvious. Almost everything else about the way he communicated trumpets extraordinary self-confidence, and a very high opinion of his own relevance.
I've read of instances of him being blunt and didn't mind it. I'm sure if I was as successful as him I'd be a bit of a prick too. The fact that he can show such humility from time to time is admirable to me. He might also just be holding himself and everyone else to an extremely high standard. I've met people like that who were just as harsh to themselves as they were to others. I like to give people the benefit of doubt.
I take no issue with Dijkstra's use of humble-sounding phrases and thoughts. It can be quite effective in making oneself approachable and believable (both of which a different than being humble). I just don't think it means he was actually a humble person.
Yes, we were corresponding for a while, this wasn't just a response to a cold contact. My dad, who was quite a promoter and very invested in the idea of me being a gifted kid, reached out to a bunch of computer scientists, and several responded. I have some of those letters but haven't done any careful organizing of them. As I mentioned in the memorial note, Dijkstra would go on to invite me to the Marktoberdorf summer school the following summer, where I got to spend time with him, Tony Hoare, Greg Nelson, Robert Constable (of Nuprl fame), and others.
Seems your father did something fantastic for you there (whatever his intrinsic motivations), you've been gifted with amazing experiences or at least great opportunities.
I wish I'll be able to help my kids get these kinds of chances in whatever field or endeavour they chose. Writing letters and getting people's attention, centering them on the impact a very little of their time can be a huge boost, help, to a young person, seems like a parent's job.
71 comments
[ 4.8 ms ] story [ 147 ms ] threadActually I have an even more amazing artifact. He wrote out the entire book "Predicate Calculus and Program Semantics" as a manuscript, beautifully formatted two pages to a letter-sized sheet, page numbers and all. It is nearly perfect but does have a few crossed out bits. I can't find that anywhere online, and just sent an email to the EWD archive. I'd be very surprised if I have the only extant copy, but if so I will certainly get it properly preserved.
Too often i see people being dismissive of Dijkstra because of his aphorisms, they don't understand the context that drove it.
In my mind he was a "True Perfectionist" who demanded Perfection of himself and everybody else. It was a rare uncompromising and mathematically focused mind well suited to the then nascent "Computing Science" field.
it is a shame that io is not more well known, because it is a brilliant achievement; by virtue of a simple syntactic trick it turns explicit cps code from its usual impenetrable form into something quite readable
Viewing continuations as the "mother of all monads", this work (1989) could have anticipated Moggi (1991) if there had been continued development in that direction! (it would've taken much more work though, as IIRC EWD noted Io as presented wasn't properly associative in ';')
Moggi91: https://www.cs.cmu.edu/~crary/819-f09/Moggi91.pdf
levien's io is maybe less practical, though it's hard to tell since nobody's done the work of putting together an implementation with batteries
my notes on it from sometime in 02007–02009 are at https://dercuano.github.io/notes/raph-io.html but i didn't have a copy of the actual paper at the time, just some badly ocred code and quotes from the paper, plus some commentary
"...the question of whether Machines Can Think, a question of which we now know that it is about as relevant as the question of whether Submarines Can Swim."
In the same "post" he also talks a lot about hype and how it hurts the field. The last few years of computing have been exceptionally hype driven, even more than usual. We could've been better with a few more critics like him in that period.
[0] https://www.cs.utexas.edu/~EWD/ewd08xx/EWD898.PDF
"No people"'s comments only seem to be worth enough in attention currency once things explode and it turns into an "I told you so".
At least within the world of facehype.com and hypper.com et al. Behind closed doors people are probably more critical.
It's the kind of criticism that leaves room for genuine acceptance of the technical excellence and usefulness of those tools, while not buying the hype in the slightest.
EWDs are a gold mine. He's an exceptional thinker and his prose is beautiful.
books listed at: https://en.wikipedia.org/wiki/Edsger_W._Dijkstra#Selected_pu...
1) A Method of Programming.
2) A Discipline of Programming.
Browse the EWDs and read those whose titles interest you. My favourites are those dealing with Program Correctness and Languages.
Note that understanding Dijkstra can be hard; so don't be discouraged if you don't "get" something at the first read.
On the cruelty of really teaching computer science: https://www.cs.utexas.edu/users/EWD/ewd10xx/EWD1036.PDF
How do we tell truths that might hurt?: https://www.cs.virginia.edu/~evans/cs655/readings/ewd498.htm...
The humble programmer: https://www.cs.utexas.edu/~EWD/transcriptions/EWD03xx/EWD340...
The notational conventions I adopted and why: https://www.cs.utexas.edu/users/EWD/ewd13xx/EWD1300.PDF
The Mathematical Divide: https://www.cs.utexas.edu/users/EWD/ewd12xx/EWD1268.PDF
Why American Computing Science seems incurable: https://www.cs.utexas.edu/users/EWD/ewd12xx/EWD1209.PDF
Next time use this: "Is it your belief that we are all idiots?"
From: https://www.cs.utexas.edu/users/misra/Speeches.dir/Banquet-W...
Having said that, I don't think any serious AI researcher would claim that their creations are close to actually thinking.
I don't think anybody seriously believes that -- but setting reasonable public expectations from emerging technologies is at least in part the responsibility of the "technically literate class" broadly defined, research scientists, practitioners, even developers in ML/AI-adjacent fields such as myself.
Stuff like "GPT3 is coming for your job" is already out to the press. Nobody thinks that, nobody has even said that, but nobody has done anything to set expectations straight either.
We ought to be more responsible in this respect.
Which is pretty freaking cool.
But yes, your deeper point is hard to dispute; this business has always run on punctuated equilibrium. We may be in for another 50+ years of "AI winter." I doubt it, though. It feels different this time.
Some said it though, I remember a prominent AI professor talking about radiologists losing their jobs on twitter and the ensuing mess surrounding it.
Except that, I agree strongly with everything else you pointed out.
It doesn't mean it is right, but it is a good reminder that there is a high chance it is just me missing something.
As for the "marketing" thing, it is hard even for a full time teacher not to treat their audience as idiots and avoid losing them completely. Good teachers, when unsure, prefer to go the "idiot" path, not ideal, but at least your audience may understand something in the end.
I don't think that his statement is meant to be an answer, rather, I think it's meant to be a statement to jump off of. It's bringing up how definitions matter, and that in different contexts the answer to the same questions could be yes or no.
Now even though Submarines (usually) have propellors, one can easily imagine a design that used limb-like oars to propel it. Does this mean that such a strange submarine is swimming?
The point Dijkstra was making is that the comparison is pointless: there is a fundamental difference between an organism swimming and a machine moving through water. Trying to equate these two actions is pointless, since it adds no new depth of understanding. He therefore dismisses the question of "can machines think" as having no usefulness.
My intent in quoting was to point out how careless usage of words in AI can fool people, especially the layperson and create wrong expectations. Most can see the difference in the usage of word 'swim' w.r.t fish and submarines, but public knowledge about AI is not at the point where they can make a similar distinction when using 'think' or 'chat' between human and machine.
He uses it differently though, he's using that sentence to criticize Alan Turing's early hypothesizing about AI. If you're interested, that document linked has more context.
Presumably this was requested by whoever currently owns the place.
https://blog.jgc.org/2013/05/from-ground-up.html
These things seem so small and would probably take less than an hour for an adult but would mean the world to a kid.
I hope we go back to that someday.
You can use e.g. twitter/nitter instead.
Anyway, it is a big step in the wrong direction, and people that care about web or privacy really shouldn't post on mastodon in its current form.
You realise twitter runs loads of JS, including all kinds of tracking. However unlike mastodon, twitter scripts are not open and reviewed.
Let me repeat my point again: don't publish text on media that javascript walls it. It is so wrong on so many levels. In regards of privacy, safety, environment, speed, accessibility, etc etc etc, javascript wall is total bonkers, and should be considered as unacceptable.
A legend like Edgar Dijkstra referring to his mind as simple is insane to me. Such humility.
[0]: https://www.cs.utexas.edu/users/EWD/transcriptions/EWD03xx/E...
This letter would be even more amazing if he did not.
A legend like Dijkstra spending several hours to work out what the author was saying in the letter and to offer advice.
I would expect a terse 3 line reply if any replay at all.
Instead he is kind enough to put real effort into it.
I wish I'll be able to help my kids get these kinds of chances in whatever field or endeavour they chose. Writing letters and getting people's attention, centering them on the impact a very little of their time can be a huge boost, help, to a young person, seems like a parent's job.