Top
Best
New

Posted by speckx 4 hours ago

Tony Hoare has died(blog.computationalcomplexity.org)
1001 points | 144 comments
paul 3 hours ago|
One of my favorite quotes: “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies.”

I think about this a lot because it’s true of any complex system or argument, not just software.

withoutboats3 3 hours ago||
This is indeed a great quote (one of many gems from Sir Tony) but I think the context that follows it is also an essential insight:

> The first method is far more difficult. It demands the same skill, devotion, insight, and even inspiration as the discovery of the simple physical laws which underlie the complex phenomena of nature. It also requires a willingness to accept objectives which are limited by physical, logical, and technological constraints, and to accept a compromise when conflicting objectives cannot be met. No committee will ever do this until it is too late.

(All from his Turing Award lecture, "The Emperor's Old Clothes": https://www.labouseur.com/projects/codeReckon/papers/The-Emp...)

1vuio0pswjnm7 2 hours ago||
"No committee will ever do this until it is too late."

The software I like best was not written by "teams"

I prefer small programs written by individuals that generally violate memes like "software is never finished" and "all software has bugs"

(End user perspective, not a developer)

hinkley 20 minutes ago||
One of my biggest accomplishments was shipping a suite of 5 apps from four divisions where three of them resented each other’s existence and seemed bound and determined to build rules in the system that made sure the other two couldn’t function. Which made no goddamn sense because it was a pipeline and you can’t get anything out one end if it gets jammed in the middle.

I was brought in to finish building the interchange format. The previous guy was not up to snuff. The architect I worked for was (with love) a sarcastic bastard who eventually abdicated about 2 rings of the circus to me. He basically took some of the high level meetings and tapped in when one of us thought I might strangle someone.

Their initial impression was that I was a prize to be fought over like a child in a divorce. But the guy who gives you your data has you by the balls, if he is smart enough to realize it, so it went my way nine times out of ten. It was a lot of work threading that needle, (I’ve never changed the semantics of a library so hard without changing the syntax), but it worked out for everyone. By the time we were done the way things worked vs the way they each wanted it to work was on the order of twenty lines of code on their end, which I essentially spoonfed them so they didn’t have a lot of standing to complain. And our three teams always delivered within 15% of estimates, which was about half of anyone else’s error bar so we lowly accreted responsibilities.

I ended up as principal on that project (during a hiring/promotional freeze on that title. I felt bad for leaving within a year because someone pulled strings for that, but I stayed until I was sure the house wouldn’t burn down after I left, and I didn’t have to do that). I must have said, “compromise means nobody gets their way.” About twenty times in or between meetings.

mathattack 6 minutes ago||
These are the projects that give us confidence.
HerbManic 33 minutes ago|||
One of the policies of The Rhinoceros Party in Canada was to increase the complexity of the taxation system so much that nobody could find the loopholes to exploit.
hinkley 44 minutes ago|||
We are poorer for him having waited to drop that sentence at his Turing Award acceptance speech. I use it all the time.

Tony might be my favorite computer scientist.

Pxtl 44 minutes ago|||
Good thing we now have technology that allows us to crank out complex software at rates never-before seen.
tosh 2 hours ago|||
aged very well
eitally 2 hours ago|||
Reminds me of this Pascal quote: "I would have written a shorter letter, but I did not have the time."

https://www.npr.org/sections/13.7/2014/02/03/270680304/this-...

draygonia 1 hour ago||
Reminds me of this quote... “A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work.”
dang 1 hour ago||
https://en.wikipedia.org/wiki/John_Gall_(author)#Gall's_law

The book is well worth reading.

https://news.ycombinator.com/item?id=9948767

pjmlp 3 hours ago||
Rest in peace, he hasn't seen the industry change.

"A consequence of this principle is that every occurrence of every subscript of every subscripted variable was on every occasion checked at run time against both the upper and the lower declared bounds of the array. Many years later we asked our customers whether they wished us to provide an option to switch off these checks in the interests of efficiency on production runs. Unanimously, they urged us not to they already knew how frequently subscript errors occur on production runs where failure to detect them could be disastrous. I note with fear and horror that even in 1980 language designers and users have not learned this lesson. In any respectable branch of engineering, failure to observe such elementary precautions would have long been against the law."

-- C.A.R Hoare's "The 1980 ACM Turing Award Lecture"

srean 3 hours ago||
As Dijkstra was preparing for his end of life, organizing his documents and correspondence became an important task. Cancer had snuck up on him and there was not much time.

One senior professor, who was helping out with this, asked Dijkstra what is to be done with his correspondences. The professor, quite renowned himself, relates a story where Dijsktra tells him from his hospital bed, to keep the ones with "Tony" and throw the rest.

The professor adds with a dry wit, that his own correspondence with Dijsktra were in the pile too.

jonstewart 2 hours ago|
John Backus had some correspondence with Dijkstra that's worth a read: https://medium.com/@acidflask/this-guys-arrogance-takes-your...
fidotron 2 hours ago||
There's that immortal Alan Kay line "arrogance in computer science is measured in nano Dijkstras".
srean 2 hours ago|||
That's a famous quote and age might have mellowed him. But he was not like that at all in person with his students. He did insist that one be precise with ones words.

The origin of the quote may have more to do with cultural differences between the Dutch and Americans.

blast 1 hour ago||
That's a great point which never occurred to me about Dijkstra, even though I knew where he came from. My father in law used to like this joke: "He was Dutch and behaved as such."
rramadass 2 hours ago|||
Alan Kay himself said this quote is taken out-of-context and so people need to stop repeating it - https://news.ycombinator.com/item?id=11799963
justin66 1 hour ago|||
> and so people need to stop repeating it

That would seem to be your sentiment, not his, based on the link you shared. Rather than being censorious he shared a nice story on the matter.

masfuerte 20 minutes ago|||
Weirdly, that ten-year-old Alan Kay comment is shown as "1 day ago" by HN.
Plasmoid 4 hours ago||
Fun story - at Oxford they like to name buildings after important people. Dr Hoare was nominated to have a house named after him. This presented the university with a dilemma of having a literal `Hoare house` (pronounced whore).

I can't remember what Oxford did to resolve this, but I think they settled on `C.A.R. Hoare Residence`.

davidhunter 3 hours ago||
There's the Tony Hoare Room [1] in the Robert Hooke Building. We held our Reinforcement Learning reading group there.

[1] https://www.cs.ox.ac.uk/people/jennifer.watson/tonyhoare.htm...

pbhjpbhj 56 minutes ago|||
>our Reinforcement Learning reading group there //

Anyone else, like me, imagining ML models embodied as Androids attending what amounts to a book club? (I can't quite shake the image of them being little CodeBullets with CRT monitors for heads either.)

2001zhaozhao 1 hour ago|||
I had countless lectures and classes there
riazrizvi 3 hours ago|||
Cowards.
petesergeant 3 hours ago|||
I was awarded the CAR Hoare prize from university, which is marginally better than the hoare prize I suppose
cucumber3732842 3 hours ago|||
Shame the university takes itself so seriously. The illustrative example of overloading would have been pertinent to his subject of expertise.
skybrian 2 hours ago|||
I mean, I like puns but they're a flash in the pan. Jokes get old after a while and you don't want to embed them in something fairly permanent like a building name.
yborg 2 hours ago|||
This particular word for the oldest profession goes back to Old English. I am fairly sure it would outlive the building.
skybrian 1 hour ago||
If the problem is when the joke lives on amusing undergrads long after you've tired of it, that just makes it worse.
cucumber3732842 2 hours ago|||
"Surely you've all heard of the Hoare house on campus?" seems like a pretty timeless way to a) keep people from dozing off during that bit of lecture b) cause a whole bunch of people to remember who this guy was and what he did.
bell-cot 1 hour ago|||
"Hoare House" would trigger millions of idiots, from rude little children to pontifying alpha ideologues. In perpetuity.

The University was correct in saying "nope" to the endless distractions, misery, and overhead of having to deal with that.

jgrahamc 1 hour ago||
Imagine being a world-famous computer scientist and dying and one of the top threads in a discussion of your life is juvenile crap about how your name sounds like "whore".
fuzzylightbulb 46 minutes ago||
Imagine being an adult human but not being able to extract a tiny chuckle from such a silly thing.
jgrahamc 42 minutes ago||
Well, I do have a rather special last name which makes me susceptible.
fidotron 20 hours ago||
The confusion is possibly almost appropriate, given so much of his work was on creating systems which avoid confusion through using proper synchronized communication channels. The null pointer stuff is famous, but it's occam and the Communicating Sequential Processes work that were brilliant. Maybe it's also brilliantly wrong, as I think Actor model people could argue, but it is brilliant.

My favourite quote of his is “There are two ways of constructing a piece of software: One is to make it so simple that there are obviously no errors, and the other is to make it so complicated that there are no obvious errors.”

While we hope it's not true, if it is a very deserved RIP.

nextos 20 hours ago||
CSP and Hoare logic were brilliant. He was a huge proponent of formal methods.

He famously gave up on making formal methods mainstream, but I believe there will be a comeback quite soon.

On generated code, verification is the bottleneck. He was right, just too early.

jacquesm 19 hours ago|||
And here we are throwing all that brilliance away with Async abominations. Software can be so simple and elegant.
eru 19 hours ago||
Actor model would also be brilliantly wrong: it doesn't compose smaller correct systems into larger correct systems.

(Software) Transactional Memory and other ideas inspired by databases have a much better shot at this.

jgrahamc 4 hours ago||
He was the professor in the Programming Research Group (known universally as the PRG) at Oxford when I was doing my DPhil and interviewed me for the DPhil. I spent quite a bit of time with him and, of course, spent a lot of time doing stuff with CSP including my entire DPhil.

Sad to think that the TonyHoare process has reached STOP.

RIP.

pjmorris 10 hours ago||
I lucked in to meeting him once, in Cambridge. A gentle intellectual giant.

I repeatedly borrow this quote from his 1980 Turing Award speech, 'The Emperor's Old Clothes'... "At last, there breezed into my office the most senior manager of all, a general manager of our parent company, Andrew St. Johnston. I was surprised that he had even heard of me. "You know what went wrong?" he shouted--he always shouted-- "You let your programmers do things which you yourself do not understand." I stared in astonishment. He was obviously out of touch with present day realities. How could one person ever understand the whole of a modern software product like the Elliott 503 Mark II software system? I realized later that he was absolutely right; he had diagnosed the true cause of the problem and he had planted the seed of its later solution."

My interpretation is that whether shifting from delegation to programmers, or to compilers, or to LLMs, the invariant is that we will always have to understand the consequences of our choices, or suffer the consequences.

criddell 4 hours ago||
Tony's An Axiomatic Basis for Computer Programming[1] is the first academic paper that I read that I was able to understand when I was an undergrad. I think it unlocked something in me because before that I never believed that I would be able to read and understand scientific papers.

That was 35ish years ago. I just pulled up the paper now and I can't read the notation anymore... This might be something that I try applying an AI to. Get it to walk me through a paper paragraph-by-paragraph until I get back up to speed.

[1]:https://dl.acm.org/doi/10.1145/363235.363259

aembleton 2 hours ago||
I can recommend NotebookLM [1] for reading through scientific papers. You can then ask it questions and even get a podcast generated.

1. https://notebooklm.google/

rramadass 3 hours ago||
Followup on the above with these two classics;

Retrospective: An Axiomatic Basis For Computer Programming. This was written 30 years after An Axiomatic Basis for Computer Programming to take stock on what was proven right and what was proven wrong - https://cacm.acm.org/opinion/retrospective-an-axiomatic-basi...

How Did Software Get So Reliable Without Proof? More detailed paper on the above theme (pdf) - https://6826.csail.mit.edu/2020/papers/noproof.pdf

jefffoster 2 hours ago||
I remember attending a tech event at MSR Cambridge, and a speaker made some disparaging comment about older developers not being able to keep up in this modern world of programming.

An older gentleman stood up and politely mentioned they knew a thing or two.

That was Tony Hoare.

ibejoeb 2 hours ago|
From his Oxford bio: "To assist in efficient look-up of words in a dictionary, he discovered the well-known sorting algorithm Quicksort."

I always liked this presentation. I think it's equally fine to say "invented" something, but I think this fits into his ethos (from what I understand of him.) There are natural phenomena, and it just takes noticing.

More comments...