Hacker News new | past | comments | ask | show | jobs | submit login

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

- Alan Kay

This quote keeps on showing up out of context. Edsger and I got along quite well. He loved to be the way he was and pushed it. His friend Bob Barton (the great genius of the B5000 design) was very similar in loving to push buttons and being very critical of the not-quite-a-field that we have. When the U of Utah faculty complained to Dave Evans about Barton, Evans said "We don't care if they're prima donnas as long as they can sing!" This was a general attitude back then. Dijkstra was much more funny than annoying for anyone who had any sense of self. The two biggest problems in our not-quite-a-field were those who listened to him too carefully and those who didn't listen to him carefully enough. In any case, in the research and faculty worlds of the 60s -- where the funding from ARPA was very very different than funding is today -- consensus was not very important: really capable people explored without worrying so much about what others thought (this is hard to explain to people who've grown up in the intensely social and identity seeking world of the last 20 years or so). His comment about OOP (a rather different kind of thing at Xerox PARC than what the term means today) did not bother any of us at all -- it was rather a compliment even (which was also not a big deal) for those of us who liked the way California worked in the 70s. His comments helped when they helped, and they mattered not at all when they didn't.

I often conceptualize programming as a two-dimensional continuum, with Alan Kay on one dimension — flexibility, interactivity, composability, exploration — and Edsger Dijkstra on the other — correctness, efficiency, simplicity. We always need a certain amount of each virtue to make our systems: without enough EWD, we can't get them to work at all, and without enough AK, what they do isn't worthwhile.

Many design choices, of course, involve trading off one virtue against another. But that hardly seems to matter when so many of our current systems are so far from the efficient frontier where tradeoffs are necessary!

Thank you very much for the additional context.

"We don't care if they're prima donnas as long as they can sing!"

This is great.

Would you happen to have any insight into the question that brought me to go dig through old letters in a library in the first place?


Priority is tricky to nail down e.g. the EDSAC was operational a year before the Mark 1 (which actually was not operational until 1949). Because of the "B" Williams Tube which held the two index registers of the Mark 1, many other manufacturers -- e.g. Burroughs -- later called their index registers "B registers". (Also, I think the Univac I and II were successful commercially, and earlier than the 704.)

I started programming in earnest and for money in 1961 mostly in machine code on a variety of machines, and I'm pretty sure that the notions of single dimensional sequential locations of memory as structures (most often called arrays, but sometimes called lists), predated the idea of index registers. This is because I distinctly remember being first taught how to move through arrays sequentially just by direct address modification -- this was called indexing in the Air Force -- and later being introduced to the index register or registers -- depending on the machine.

My strong guess (from above) is that the array as sequential memory accessed by address modification of some kind was a primary idea in the very first useful computers in the late 40s, and that this idea pre-dated index registers.

It would be well worth your time to look at the instruction set of EDSAC, and try writing some programs.

> He loved to be the way he was and pushed it.

So are you saying that you said this as a friendly jab, knowing he would probably love it himself?

> His comment about OOP (a rather different kind of thing at Xerox PARC than what the term means today) did not bother any of us at all

So he did actually say that quote about OOP? Do you happen to know the source?

According to this https://www.quora.com/Why-did-Dijkstra-say-that-%E2%80%9CObj... the quote was spoken to Bob Crawford in 1988 or so and appeared in the journal TUG LINES produced by the Turbo user's group, Issue 32 (August September 1989). Bob Crawford is alive, I presume one could ask him but I would rather not even link his faculty page because I am afraid he will be inundated by an avalanche of HN readers.

Funny thing is that Alan Kay himself often comes across just as arrogant these days.

"Comes across", because more often than not I think it's more likely that people who are too pleased with themselves don't like to be told that, really, what they've achieved isn't good enough, or even misguided. Even if, or perhaps especially if, the person who tells them that (Dijkstra when it comes to programming, Kay when it comes to HCI) is right or at least has a very good point.

> Funny thing is that Alan Kay himself often comes across just as arrogant these days.

indeed! no tumblr posts. no videos on YouTube. no SnapChats. no downloadable apps on Steam, and no Kickstarters. no accepted PR's on GH. no certs. and a pretty low Influencer (TM) rating on FooBlamWooBlah.io. therefore, he's obviously a slacker! or a sock puppet. prob yet-another-teen-in-his-mothers-basement. guy probably needs to discover things like "Khan Academy" and Bitcoin and Node.js


What recent talks has Kay given? To be honest, my only criticism of him based on what I've seen the last decade is that he's reusing too much of the same material, even though he certainly has a lot more to say.

The thing is that I think he is hung up on the masses still not really getting that material, so he keeps repeating himself.

Kinda like how a teacher will repeat the same material because he keeps getting new kids every year.

Also, there's this single question by him on Stack Overflow, where he keeps replying to people with "nope, already had that in the 60s/70s":


I'm bookmarking that. Appreciate the link. You're mischaracterizing it a bit, though. He usually gave the specific counter-example(s) of what was there first so person could look it up. The only one I disagreed with was Prolog for declarative programming. "Portman" was right that real-world use of it typically requires extra steps for the how as much as the what. I've read many horror stories, even for modern implementations.

That SO thread is so far above the SO average that I wouldn't feel right nitpicking anything about it. I appreciated that Kay complimented a few ideas he thought were good.

The whole "that idea was invented in the 60s/70s" thing is interesting because it so often triggers a meta-discussion about progress and what makes it difficult. I always want to take a different approach, drop everything, and really examine and dissect the thing and why the idea hasn't been advanced or abandoned. Depth-first search vs. breadth-first search, or something, I guess...

Kay is the reductio but forgot the absurdum. The natural numbers are the most recent invention in computer science. The rest is just implementation details.

You guys realize he's right over there https://news.ycombinator.com/item?id=11799963, right?


Did not expect that! I hope he read my comments about him as the implied compliments I intended them to be; being an interaction designer he's one of my biggest heroes! :)

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