Hacker News new | past | comments | ask | show | jobs | submit login
An extensive letter from Edsger Dijkstra to my 19 year old self (1989) (mastodon.online)
310 points by raphlinus on Dec 21, 2022 | hide | past | favorite | 71 comments



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.

[0] https://www.cs.utexas.edu/~EWD/ewd08xx/EWD898.PDF


>Whenever I come across some new AI hype thing in the wild with the usual buzzwords

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...


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.

We ought to be more responsible in this respect.


> Nobody thinks that, nobody has even said that

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.


Eh, they're not wrong. Given another 20-30 years of progress at this rate, it's coming for almost every knowledge worker's job.

Which is pretty freaking cool.


It's been 20-30 years in the future for several decades now.


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.


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.


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.


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.


> get either sidelined or lambasted

"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 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.


Can you recommend any book by him? Or essays?


My personal favorites:

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



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.


Two books that i can recommend;

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.


EWD-898 I liked above is pretty great imo. I'v re-read it over half a dozen times over the years and still find it valuable.


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)?


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.


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.


You're correct.

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 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.


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.


I thought it is a letter by Dijkstra to himself, judging by the "Letter to my own self".


Love your user name, dude. Reminds me of the old days reading Jammer’s Reviews.


I believe that Dijkstra is too often remembered chiefly for his dismissive, not to say snarky aphorisms. This gives a very different picture of him.


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.


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.


Well said!

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


Is there a link to learn more about this project? It seems different from https://en.wikipedia.org/wiki/Io_(programming_language)


Io: https://dl.acm.org/doi/pdf/10.1145/70931.70934

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


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


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.


I love this letter. I received a letter from someone (not quite so illustrious) when I was a teen nerd and it was super important to me.

https://blog.jgc.org/2013/05/from-ground-up.html


What a nice guy, he didn't just put it aside thinking it's been too long so why bother.

These things seem so small and would probably take less than an hour for an adult but would mean the world to a kid.


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


And to add more continuity to the circle, here is a short memorial I posted to Advogato on Dijkstra's death, just over 20 years ago: https://web.archive.org/web/20170629060656/http://www.advoga...


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.


Advogato was great. That and some of the planets (e.g. planet.gnome.org) had so much good content.


Don't worry - the internet is much, much better than it was now in every way.



I searched google maps for the address on the letter, and interestingly... on street view, the house corresponding to the address on Dikjstra's letterhead is blurred out. Interesting. https://www.google.com/maps/place/6602+Robbie+Creek+Cove,+Au...


You may already know this but you can request your house/face to be blurred on Street View: https://support.google.com/maps/answer/7011973

Presumably this was requested by whoever currently owns the place.


I didn't know this. TIL! Thx.


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.


That certainly sounds like him!

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.


> So clearly that a simple mind like mine can understand it.

A legend like Edgar Dijkstra referring to his mind as simple is insane to me. Such humility.


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.


How dare you say that!. Humility was an integral part of his brand. So much so that he titled his Turing Award lecture "The Humble Programmer"[0].

[0]: https://www.cs.utexas.edu/users/EWD/transcriptions/EWD03xx/E...


There's a reason why arrogance is measured in milli-dijkstras. It's not because he was humble.


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.


What a legend. Intellect, humility, ingenuity, class, and not the slightest trace of self-interest.

I hope we go back to that someday.


Did the author have any connection with Dijkstra prior to this? University, school?

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.


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.


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.)

You can use e.g. twitter/nitter instead.


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.


Wait, didn't you suggest using twitter instead right above this?

You realise twitter runs loads of JS, including all kinds of tracking. However unlike mastodon, twitter scripts are not open and reviewed.


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.


Wonder if Dijkstra immediately recognized from Raph’s name that he was corresponding with a fellow Dutchborn in America…?




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: