8 ms·
Tony Hoare has died
- muyuu 8mo agoalways knew him as C.A.R. Hoare, takes me way back to freshman college years RIP good sir
- ontouchstart 8mo agoRIP: https://youtu.be/tAl6wzDTrJA https://youtu.be/tAl6wzDTrJA
- riazrizvi 8mo ago"The null reference was my billion dollar mistake responsible for innumerable errors, vulnerabilities and system crashes" (paraphrasing). I don't know. This design choice exposed the developer to system realities, and modern language approaches are based on decades of attempts to improve on it, and they are not necessarily better. Safer yes, but more weighty. Can anyone suggest a better approach for a situation like this in the future? What's better than exposing addressing the problem with a light solution?
- cyberax 8mo agoSome kind of an optional/variant type, enforced by the type system.
- p1necone 8mo agoOr if even that feels too verbose, just a 'nullable' modifier on the variable or field definition, with the default being not nullable. (Although Optional/Maybe types are definitely my preference based on the languages I've used)
- magarnicle 8mo ago"The problem isn't the concept of 'null', but rather that everything can be null, which makes it impossible to distinguish between the cases where null is an appropriate and expected value, from the cases where null is a defect." https://blog.ploeh.dk/2015/04/13/less-is-more-language-features/#7874496bf5134a66ae5a6350cbb6c04f https://blog.ploeh.dk/2015/04/13/less-is-more-language-featu...
- pezezin 8mo agoWhich system reality? Plenty of architectures don't have a concept of a null pointer at the hardware level. Other architectures provide multiple address spaces, or segmented memory addressing. Even when a null pointer exists at the hardware level, it doesn't have to be the zero address. Null pointers are a software abstraction, and nowadays we have better abstractions.
- briane80 8mo agoHe was a professor at my old alma mater, Queen's University of Belfast. I remember hearing a story about him going to Harvard to give a lecture and, as he was presented, one of their professors referred to himself as the "Hoare of Harvard"
- hinkley 8mo agoOne of Billy Crystal's later standup bits was talking about how his parents have hit an age where their favorite game with their friends is called, "Guess Who Died". I've been thinking about that bit an awful lot the last couple of years.
- tombert 8mo agoDamn. Tony Hoare was on my bucket list of people I wanted to meet before I or they die. My grad school advisor always talked of him extremely highly, and while I cannot seem to confirm it, I believe Hoare might have been his PhD advisor. It's hard to overstate how important Hoare was. CSP and Hoare Logic and UTP are all basically entire fields in their own right. It makes me sad he's gone.
- dboreham 8mo agoWhen I met him unfortunately I didn't realize how important he was (1987). The place where I worked used formal methods to verify the design of an FPU, in collaboration with the PRG. iirc the project was a success. I never heard of formal methods being successfully used again until TLA+ a few years ago.
- fanf2 8mo agoInmos? Transputers were inspired by Hoare’s CSP.
- BitsAndObjects 8mo ago“Inspired by” is an understatement of the century lol. David May and Sir Tony worked very closely together to enable the architecture to be as pure a runtime for CSP as you could get - at least in early versions of the architecture and accompanying Occam language. It expanded and deviated a bit later on iirc. Source: David loved to tell some of these stories to us as students at Bristol.
- BitsAndObjects 8mo agoIt’s also worth highlighting that the mathematical purity of the designs were also partly the problem with them. As a field, we’re still developing the maths of Effects and Effectful Algebras that are needed to make these systems both mathematically ‘pure’ (or at least sound to within some boundary) and ALSO capable of interfacing to the real world. Transputer and Occam were, in this sense, too early. A rebuild now combining more recent developments from Effect Algebras would be very interesting technically. (Commercially there are all sorts of barriers).
- fidotron 8mo agoThe 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 8mo agoCSP 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 8mo agoAnd here we are throwing all that brilliance away with Async abominations. Software can be so simple and elegant.
- eru 8mo agoActor 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.
- YorickPeterse 8mo agoIs this why software transactional memory is so prevalent today and the actor model is barely used?
- eru 8mo agoLocks are even more prevalent today. And so was leaded gasoline. (To be less snarky, locks are one way you can implement both actor model and Transactional Memory. But just like JMP instructions in your CPU, it's probably better to provide programmers with a higher level of abstraction.)
- csb6 8mo agoSad that his (and many others') dream of widespread formal verification of software never came true. He made really fundamental contributions to computer science but will probably be mostly known for quicksort and the quote about his "billion dollar mistake", not his decades-long program to make formal methods more tractable. Makes me think of an anecdote where Dijkstra said that he feared he would only be remembered for his shortest path algorithm.
- hinkley 8mo agoAlmost all of the earliest cited works on concurrency management in software were authored by C A R 'Tony' Hoare. I genuinely forget he authored quicksort on the regular.
- yodsanklai 8mo agoActually, thanks to AI, this may change soon! we may be in a place where widespread formal verification is finally possible.
- alphaglosined 8mo agoIt is more widespread than you may realise. That work contributes to static analysers' data flow analysis algorithms and is very widespread, even if it's in a limited capacity. C#, gcc, clang, and even dmd, with my fast DFA engine, utilise it. We can't all be using Astrée, far too expensive ;)
- mynegation 8mo agoSir Tony Hoare visited Institute for System Programming in Moscow and gave a lecture quarter of the century ago. It was unforgettable experience to see the living legend of your field. He was a senior person then already and today I am going to celebrate his long and wonderful life.
- laurieg 8mo agoI saw a casual lecture given by Tony Hoare as a teenager. The atmosphere was warm and welcoming, even if I didn't fully understand all of the content. I remember he was very kind and answered my simple questions politely.
- susam 8mo agoI first came across Tony Hoare about 24 years ago while learning C from The C Programming Language by Kernighan and Richie. I knew him only as C. A. R. Hoare for a long time. When I got on the Internet, it took me a while to realise that when people said Tony Hoare, it was the same person I knew as C. A. R. Hoare. Quoting the relevant text from the book: > Another good example of recursion is quicksort, a sorting algorithm developed by C.A.R. Hoare in 1962. Given an array, one element is chosen and the others partitioned in two subsets - those less than the partition element and those greater than or equal to it. The same process is then applied recursively to the two subsets. When a subset has fewer than two elements, it doesn't need any sorting; this stops the recursion. > Our version of quicksort is not the fastest possible, but it's one of the simplest. We use the middle element of each subarray for partitioning. [...] It was one of the first few 'serious' algorithms I learnt to implement on my own. More generally, the book had a profound impact on my life. It made me fall in love with computer programming and ultimately choose it as my career. Thanks to K&R, Tony Hoare and the many other giants on whose shoulders I stand.
- zacklee-aud 8mo ago[flagged]
- semessier 8mo agounless its greatly exagerated - he was quite mind sharp in his 80s SIR_TONY_HOARE = μX • (think → create → give → X) -- process ran from 1934 to 2026 -- terminated with SKIP -- no deadlock detected -- all assertions satisfied -- trace: ⟨ quicksort, hoare_logic, csp, monitors, -- dining_philosophers, knighthood, turing_award, -- billion_dollar_apology, structured_programming, -- unifying_theories, ... ⟩ -- trace length: ∞ The channel is closed. The process has terminated. The algebra endures.
- pjmorris 8mo agoI 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.
- layer8 8mo ago> I realized later that he was absolutely right It would have been fun if he’d directly said “You’re absolutely right!”
- arch_deluxe 8mo agoOne of the greats. Invented quicksort and concurrent sequential processes. I always looked up to him because he also seemed very humble.
- baruchel 8mo agoYes, but don't forget his formal work also (Hoare logic).
- rramadass 8mo agoTo me, this is his most important contribution; Everybody else built on top of this. Hoare Logic - https://en.wikipedia.org/wiki/Hoare_logic https://en.wikipedia.org/wiki/Hoare_logic
- lkuty 8mo agoRediscovering it through the Dafny programming language. Brings back memories of a 1994 University course.
- rramadass 8mo agoI think it is even more relevant today. Hoare Logic + Dijkstra's weakest precondition + Meyer's Design-by-Contract is what should be used to get LLMs to generate proof with code in a correctness-by-construction approach to implementation. References: Correctness-by-Construction (CbC) - https://www.tu-braunschweig.de/en/isf/research/cbc https://www.tu-braunschweig.de/en/isf/research/cbc A Course on Correctness by Construction - https://wp.software.imdea.org/cbc/ https://wp.software.imdea.org/cbc/
- rramadass 8mo agoYou might find this paper interesting (uses examples in Dafny) - https://news.ycombinator.com/item?id=47334375 https://news.ycombinator.com/item?id=47334375
- wood_spirit 8mo ago
- sourcegrift 8mo agoAssert early, assert often!
- john_strinlai 8mo agohttps://news.ycombinator.com/item?id=47316880 https://news.ycombinator.com/item?id=47316880 249 points by nextos 16 hours ago | 61 comments
- dang 8mo agoThanks! We'll merge those comments hither.
- brian_herman 8mo agoNeeds a black bar!
- criddell 8mo agoTony'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 https://dl.acm.org/doi/10.1145/363235.363259
- rramadass 8mo agoFollowup 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-basis-for-computer-programming/ 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 https://6826.csail.mit.edu/2020/papers/noproof.pdf
- ontouchstart 8mo agoThanks for the recommendation. I downloaded both social.pdf and noproof.pdf on my Kindle Scribe to read them carefully and revisited the discussions on EWD638 and EWD692. It is very interesting to see how Sir Tony diverged from EDW: one is right in theoretical sense but cynical about human fallacies and how the society is heading towards more wasteful complexity, one is to live with it and stay optimistic. There is a proverb in Chinese Taoism: 小隱隱於野,大隱隱於市 A small recluse hides in the wild, while a great recluse hides in the city
- rramadass 8mo agoNice comparison of Hoare vs. Dijkstra. Hoare was more focused and diplomatic while Dijkstra was more of a free-ranging philosopher. I still remember the first time i came across Hoare Logic/Triple and Dijkstra's GCL/Weakest precondition, understanding nothing and feeling like a complete dolt. As a young'un i thought knowing the syntax of a language and learning some idioms/patterns was all you needed for programming. Reading Hoare/Dijkstra showed me where mathematical theory met programming practice.
- Plasmoid 8mo agoFun 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`.
- petesergeant 8mo agoI was awarded the CAR Hoare prize from university, which is marginally better than the hoare prize I suppose
- davidhunter 8mo agoThere'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.html https://www.cs.ox.ac.uk/people/jennifer.watson/tonyhoare.htm...
- 2001zhaozhao 8mo agoI had countless lectures and classes there
- pbhjpbhj 8mo 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.)
- mghackerlady 8mo agoThe CB reference is appreciated, he isn't talked about enough here
- riazrizvi 8mo agoCowards.
- deleted 8mo ago[deleted]
- deleted 8mo ago[deleted]
- groos 8mo agoI've had the good fortune to attend two of his lectures in person. Each time, he effortlessly derived provably correct code from the conditions of the problem and made it seem all too easy. 10 minutes after leaving the lecture, my thought was "Wait, how did he do it again?". RIP Sir Tony.
- ziyao_w 8mo agoRandom anecdote and Mr. Hoare (yep not a Dr.) has always been one of my computing heroes. Mr. Hoare did a talk back during my undergrad and for some reason despite totally checked out of school I attended, and it is one of my formative experiences. AFAICR it was about proving program correctness. After it finished during the Q&A segment, one student asked him about his opinions about the famous Brooks essay No Silver Bullet and Mr. Hoare's answer was... total confusion. Apparently he had not heard of the concept at all! It could be a lost in translation thing but I don't think so since I remember understanding the phrase "silver bullet" which did not make any sense to me. And now Mr. Hoare and Dr. Brooks are two of my all time computing heroes.
- BitsAndObjects 8mo ago"Sir", not "Mr." if you're going to be pedantic about titles ;) Edit: Oh and he has multiple honorary doctorates (at least 6!), so would be just as much "Dr." too!
- tialaramex 8mo agoIt is not usual to call people with an honorary doctorate "Doctor" except in the context of the awarding institution. Most likely the awarding institutions will have actually specified that the recipient should not give anybody the false impression and I can't imagine Tony is the type to do otherwise.
- robotresearcher 8mo agoHis title at Oxford was 'Professor', and he was addressed as 'Tony'. He made incoming DPhil (PhD) students a cup of tea individually in his office at the Computing Laboratory. It was a small group, but still I appreciated this personal touch.
- tialaramex 8mo agoI never met Tony, but I liked his work. I'm not much of a one for tea, but I don't think either of my PhD supervisors ever bought me a drink - I didn't finish (got cancer, I'm fine now†, some cancers are very curable, but frankly I was struggling anyway so it was a good excuse to quit) and I'm sure it's traditional to buy something a bit harder than a cup of tea if you pass, but I didn't get that far. Anyway my point here was just a PSA that honorary degrees "don't count". If somebody only has an honorary doctorate but insists on being called "Doctor" they're an asshole. In fact, even outside University I know a lot of MDs and PhDs and in most contexts if they insist on the title "Doctor" they're an asshole even though they're entitled. † Well not fine, I'm old but I think that's an inevitable side effect of surviving so the alternative was worse.
- jgrahamc 8mo agoHe 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.
- tombert 8mo agoI think I and most people had hoped that he would DIV instead.
- carterschonwald 8mo agothis is black bar grade great. give us black bar
- sourcegrift 8mo ago[flagged]
- rvz 8mo agoRIP Sir Tony Hoare Turing Award Legend.
- pjmlp 8mo agoRest 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"
- brchr 8mo ago“I never had a doctorate, so I had to make do with Quicksort.” —Sir Tony Hoare (unpublished interview for Algorithms to Live By)
- madsohm 8mo agoI wrote both my master thesis and PhD on Hoare's Communicating Sequential Processes. I really enjoyed it's simplicity, expandability, and was always amazed that it inspired and influenced language constructs in Go, Erlang, occam and the likes.
- krylon 8mo agoRest in peace.
- shaunxcode 8mo agoAbsolutely the GOAT of concurrency. May his ring never die.
- pradn 8mo agoHe came to give a lecture at UT Austin, where I did my undergrad. I had a chance to ask him a question: "what's the story behind inventing QuickSort?". He said something simple, like "first I thought of MergeSort, and then I thought of QuickSort" - as if it were just natural thought. He came across as a kind and humble person. Glad to have met one of the greats of the field!
- gsanghani 8mo agoI remember this vividly! I believe he said that he thought of _Bubble Sort_ first, but that it was too slow, so he came up with QuickSort next
- pradn 8mo agoGood to hear from you after a while, Gaurav (I think?!).
- srean 8mo agoHappy to meet you. I was there and I remember that question being asked. I think it was 2010. If I remember correctly he had two immediate ideas, his first was bubble sort, the second turned out to be quicksort. He was already very frail by then. Yet clarity of mind was undiminished. What came across in that talk, in addition to his technical material, was his humor and warmth.
- pradn 8mo agoThat's right - it was bubble sort first. Absolutely - frail, yet sharp. I'm happy to hear several of us didn't forget this encounter with him.
- mceachen 8mo agoHe discusses this and his sixpence wager here: https://youtu.be/pJgKYn0lcno https://youtu.be/pJgKYn0lcno (Source: TFA)
- asimpletune 8mo agoHaha I was there too. I remember he made thinking clearly seem so simple. What a humble man. If I remember correctly, his talk was about how the world of science-the pure pursuit of truth-and the world of engineering-the practical application of solutions under constraints-had to learn from each other.
- paul 8mo agoOne 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 8mo agoThis 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-Emperors-Old-Clothes.pdf https://www.labouseur.com/projects/codeReckon/papers/The-Emp...)
- 1vuio0pswjnm7 8mo 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 8mo agoOne 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.
- srean 8mo agoAs 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 8mo agoJohn Backus had some correspondence with Dijkstra that's worth a read: https://medium.com/@acidflask/this-guys-arrogance-takes-your-breath-away-5b903624ca5f#.3d80xpzgv https://medium.com/@acidflask/this-guys-arrogance-takes-your...
- fidotron 8mo agoThere's that immortal Alan Kay line "arrogance in computer science is measured in nano Dijkstras".
- srean 8mo agoThat'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.
- Insanity 8mo agoRIP. His presentation on his billion dollar mistake is something I still regularly share as a fervent believer that using null is an anti-pattern in _most_ cases. https://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare/ https://www.infoq.com/presentations/Null-References-The-Bill... That said, his contributions greatly outweigh this 'mistake'.
- fooker 8mo agoAnti patterns are great, they act as escape hatches or pressure release valves. Every piece of mechanical equipment has some analogue for good reason. Without things like null pointers, goto, globals, unsafe modes in modern safe(r) languages you can get yourself into a corner by over designing everything, often leading to complex unmaintainable code. With judicious use of these anti-patterns you get mostly good/clean design with one or two well documented exceptions.
- tialaramex 8mo agoThe "goto" in languages like C or C++ is de-fanged and not at all similar to the sequence break jump in "Go To Statement Considered Harmful". That doesn't make it a good idea, but in practice today the only place you'll see the unstructured feature complained of is machine code/ assembly language. You just don't need it but it isn't there as some sort of "escape hatch" it's more out of stubbornness. Languages which don't have it are fine, arguably easier to understand by embracing structure more. I happen to like Rust's "break 'label value" but there are plenty of ways to solve even the trickier parts of this problem (and of course most languages aren't expression based and wouldn't need a value there).
- Insanity 8mo agoThat relies on a programmer doing the right thing and knowing when to use the escape valve. From the codebases I've seen, I don't trust humans in doing the right thing and being judicious with this. But it's a good point, knowing when to deviate from a pattern is a strong plus.
- 8mo ago
- nemo44x 8mo agoHow many jobs were had or not due to the candidates ability to implement his algorithms?
- malfist 8mo agoAs a junior dev, I loved to ask interview candidates to implement merge sort or quick sort on whiteboards. As a non-junior dev I realize how stupid that was.
- tibbar 8mo agoI think the first enlightenment is that software engineers should be able to abstract away these algorithms to reliable libraries. The second enlightenment is that if you don't understand what the libraries are doing, you will probably ship things that assemble the libraries in unreasonably slow/expensive ways, lacking the intuition for how "hard" the overall operation should be.
- rramadass 8mo ago1) ACM published this book in 2021; Theories of Programming: The Life and Works of Tony Hoare - https://dl.acm.org/doi/book/10.1145/3477355 https://dl.acm.org/doi/book/10.1145/3477355 See the "preface" for details of the book - https://dl.acm.org/doi/10.1145/3477355.3477356 https://dl.acm.org/doi/10.1145/3477355.3477356 Review of the above book - https://www.researchgate.net/publication/365933441_Review_on_Theories_of_Programming_The_Life_and_Works_of_Tony_Hoare_By_Cliff_B_Jones_and_Jayadev_Misra_editors_ACM_Books_Association_for_Computing_Machinery_2021_XX429_pp_ISBN_978-1-4503-8728-6_Hardcov https://www.researchgate.net/publication/365933441_Review_on... Somebody needs to contact ACM and have them make the above book freely available now; there can be no better epitaph. 2) Tony Hoare's lecture in honour of Edsger Dijkstra (2010); What can we learn from Edsger W. Dijkstra? - https://www.cs.utexas.edu/~EWD/DijkstraMemorialLectures/Tony%20Hoare.html https://www.cs.utexas.edu/~EWD/DijkstraMemorialLectures/Tony... Somebody needs to now write a similar one for Hoare. Truly one of the absolute greats in the history of Computer Science.
- rramadass 8mo agoA collection of Tony Hoare's memorable quotes - https://en.wikiquote.org/wiki/C._A._R._Hoare https://en.wikiquote.org/wiki/C._A._R._Hoare
- tosh 8mo agoTony Hoare on how he came up with Quicksort: he read the algol 60 report (Naur, McCarthy, Perlis, …) and that described "recursion" => aaah! https://www.youtube.com/watch?v=pJgKYn0lcno https://www.youtube.com/watch?v=pJgKYn0lcno
- phplovesong 8mo agoRIP Legend
- ontouchstart 8mo agoI watched this video a few months ago. Virtual HLF 2020 – Scientific Dialogue: Sir C. Antony R. Hoare/Leslie Lamport https://www.youtube.com/watch?v=wQbFkAkThGk https://www.youtube.com/watch?v=wQbFkAkThGk
- jefffoster 8mo agoI 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.
- bschmidt97979 8mo ago[dead]
- ibejoeb 8mo agoFrom 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.
- astahlx 8mo agoTony advised me to make money with the software model checker I have been writing. In contrast to the typical practice to make these tools open source and free for use. Would have loved to learn more from him. He was a great teacher but also a great and sharp listener. Still remember the detour we made on the way to a bar in London, talking too much and deep about refinement relations. RiP.
- samiv 8mo agoWith respect I say that the one can only feel gobsmacked about how much complexity has grown. In the 60s inventing one single algorithm with 10 lines of code was a thing. If you did that today nobody would bat an eye. Today people write game engines, compilers, languages, whole OS and nobody bats an eye cause there are thousands of those. Quick sort isn't even a thing for leet code interviews anymore because it's not hard enough.
- randomtools 8mo agoRest in peace
- jamie_davenport 8mo agoThis is devastating news. When I started university he gave a talk to all the new CompScis which as you can imagine was incredibly inspirational for an aspiring Software Engineer. Grateful to have had that experience. RIP
- adev_ 8mo agoOne of the greatest figure of computing in history and an example of humility as a human. Thank you for your work on ALGOL, you were multiple decade ahead of your time. Rest in peace.
- robot 8mo ago"Communicating Sequential Processes" by Tony Hoare: https://www.cs.cmu.edu/~crary/819-f09/Hoare78.pdf https://www.cs.cmu.edu/~crary/819-f09/Hoare78.pdf It had intrigued me due to its promise of designing lock-free concurrent systems, that can (I think) also be proven to be deadlock-free. You do this by building a simple concurrent block that is proven to work correctly, and then build bigger ones using the smaller, proven blocks, to create more complex systems. The way it is designed is processes don't share data and don't have locks. They use synchronized IPC for passing and modifying data. It seemed to be a foundational piece for designing reliable systems that incorporate concurrency in them.
- robot 8mo agoBTW Rob Pike designed the Go language channels inspired by this work: https://go.dev/tour/concurrency/2 https://go.dev/tour/concurrency/2
- bitch1234 8mo ago[flagged]
- bitch1234 8mo ago[flagged]
- smj-edison 8mo agoFrom the article: > On the topic of films, I wanted to follow up with Tony a quote that I have seen online attributed to him about Hollywood portrayal of geniuses, often especially in relation to Good Will Hunting. A typical example is: "Hollywood's idea of genius is Good Will Hunting: someone who can solve any problem instantly. In reality, geniuses struggle with a single problem for years". Tony agreed with the idea that cinema often misrepresents how ability in abstract fields such as mathematics is learned over countless hours of thought, rather than - as the movies like to make out - imparted, unexplained, to people of 'genius'. However, he was unsure where exactly he had said this or how/why it had gotten onto the internet, and he agreed that online quotes on the subject, attributed to him, may well be erroneous. Somewhat off-topic, but it's cool hearing this from someone who's contributed so much to the fields of programming and mathematics. It makes me hopeful that my own strugglings with math will pay out over time!
- taint69 8mo ago[dead]
- Attummm 8mo agoIncredibly sad news. His contributions to the foundations of computing will remain relevant for generations to come.
- ghoshbishakh 8mo agoHis paper on communicating processes was a great read when I was new to computer science research.
- racefan76 8mo agoRest in peace, Sir Tony Hoare
- solozaki 8mo ago[dead]
- jongjong 8mo agoThe part about 'genius' being slow and about wrestling with difficult problems resonates. The idea of 'genius' or in fact 'intelligence' being about speed isn't just a Hollywood thing though; it's also been a Silicon Valley thing as well; it's why most big tech interviews are time-constrained. Over the years, I've also heard many tech CEOs say stuff alongside "There's only one type of intelligence" or "All intelligent people are intelligent in the same way." These kinds of statements raised my eyebrows but now with LLMs being able to solve most puzzle problems rapidly but struggling with complex problems it's completely obvious that it's not the case. What it says is frightening. The CEOs of big companies have been giving positions to people who have the same thinking style as them. Quick puzzle-solving tech tests are literal discrimination against the neurodivergent and also against geniuses. They've been embracing wordcels and rejecting shape rotators. I think a guy like Tony Hoare would struggle to find a job these days. You could argue that the issue extends beyond Hollywood and Silicon Valley... The whole education system is centered around puzzle-solving speed. It's hilarious that AI is now solving all these tests within minutes with better scores than humans. Crazy to think that LLMs could graduate from university based on current assessment policies! It's very revealing of what kind of education system we have.
- tristramb 8mo ago"Around Easter 1961, a course on ALGOL 60 was offered in Brighton, England, with Peter Naur, Edsger W. Dijkstra, and Peter Landin as tutors. I attended this course with my colleague in the language project, Jill Pym, our divisional Technical Manager, Roger Cook, and our Sales Manager, Paul King. It was there that I first learned about recursive procedures and saw how to program the sorting method which I had earlier found such difficulty in explaining. It was there that I wrote the procedure, immodestly named Quicksort, on which my career as a computer scientist is founded. Due credit must be paid to the genius of the designers of ALGOL 60 who included recursion in their language and enabled me to describe my invention so elegantly to the world. I have regarded it as the highest goal of programming language design to enable good ideas to be elegantly expressed." - C.A.R Hoare, The Emperor's Old Clothes, Comm. ACM 24(2), 75-83 (February 1981).
- kittikitti 8mo agoI am greatly saddened by the passing of Tony Hoare. His work has affected me deeply; in personal, academic, and professional life. Without visionaries like him, I would not find the love in computer science as I do now. It would be a great honor to have accomplished a fraction of what he did. My condolences to his close friends and family.
- semessier 8mo agoSIR_TONY_HOARE = μX • (think → create → give → X) -- process ran from 1934 to 2026 -- terminated with SKIP -- no deadlock detected -- all assertions satisfied -- trace: ⟨ quicksort, hoare_logic, csp, monitors, -- dining_philosophers, knighthood, turing_award, -- billion_dollar_apology, structured_programming, -- unifying_theories, ... ⟩ -- trace length: ∞ The channel is closed. The process has terminated. The algebra endures.
- hei-lima 8mo agoOne of the most important papers of all time. Just one word: Quicksort. One-of-a-kind genius.
- chr15m 8mo agoI was lucky enough to see Sir Tony Hoare speak at EuroPython in 2009. This was his last slide: One Day - Software will be the most reliable component of every product which contains it. - Software engineering will be the most dependable of all engineering professions. -Because of the successful interplay of research: - into the science of programming; - and the engineering of software. Come on people we have a lot of work to do.
- bouncycastle 8mo agoACEEE IN PRST
- practal 8mo agoJust two days ago I was curious about the PhD advisor of my PhD advisor and so on, and discovered that I am actually an academic great-grandson of Hoare (shame on me, I should have realised that earlier), and joked, "Wow, they are all still alive!". Then I saw the news yesterday on HN.
- lokelow 8mo agoI was introduced to him pretty late in the game, in this interview where he and Joe Armstrong and Carl Hewitt talked concurrency! It was interesting hearing them discuss their different thoughts and approaches https://www.youtube.com/watch?v=37wFVVVZlVU https://www.youtube.com/watch?v=37wFVVVZlVU
- dang 8mo agoHow sad that we all missed when Carl Hewitt submitted that video to HN: https://news.ycombinator.com/item?id=19202209 https://news.ycombinator.com/item?id=19202209. I had no idea that a discussion between the three of them even existed.
- Stratoscope 8mo agoHere is my favorite visualization of quicksort, by a group of Hungarian dancers: https://www.youtube.com/watch?v=3San3uKKHgg https://www.youtube.com/watch?v=3San3uKKHgg
- dizhn 8mo agoThank you for this!
- Lasang 8mo agoRIP
- STELLANOVA 8mo agoI uploaded lecture to Claude and asked to create skill using principles described. I guess we shall see if AI can actually follow them. :)
- mike_kamau 8mo agoRIP
- matchcase 8mo agoHoare's papers were some of my favorite. Rest in peace
- Lio 8mo agoSometimes I feel completely separated to mainstream culture. That the death of Sir Tony Hoare has been completely ignored by mainstream news is one of them. Not a peep anywhere for a man that put a big dent in reality.
- lionkor 8mo agoMainstream news have not been presenting much actual relevant content beyond reporting on wars.
- orthoxerox 8mo agoTIL his first publication was in Russian, published in the USSR where he spent a year as an exchange student. I wonder if Igor Mel’čuk [0] remembers him. [0] - https://olst.ling.umontreal.ca/static/melcuk/ https://olst.ling.umontreal.ca/static/melcuk/
- axelfontaine 8mo agoI had the privilege to attend his "Billion Dollar Mistake" talk in person at QCon London 2009. Little did I know that this talk would go down in software development history! What an honor to have witnessed this live! https://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare/ https://www.infoq.com/presentations/Null-References-The-Bill...
- casey2 8mo agoI didn't know him, but every time I've read one of his papers I've learned something and changed my viewpoint. I'm never worried that my effort will be betrayed reading Hoare (Especially rare in a field that moves so fast like applied CS)
- kevthecoder 8mo agoA near neighbour described being interviewed by Tony Hoare for his first job after graduating (he got the job!). Sounds like the interview process in those days was a chat over lunch rather than coding exercises. https://news.ycombinator.com/item?id=43592201 https://news.ycombinator.com/item?id=43592201
- justyy 8mo agoRIP
- doctorlai 8mo ago[dead]
- branoco 8mo agowow, but lived a full life
- pramodbiligiri 8mo agoLeslie Lamport hosted a chat with him a few years back: https://www.youtube.com/watch?v=wQbFkAkThGk https://www.youtube.com/watch?v=wQbFkAkThGk. They spoke about general CS stuff and some aspects of concurrency.
- mghackerlady 8mo agoRest in peace to a real one, we've lost one of the brightest minds of our century
- westurner 8mo agoHoare logic: https://en.wikipedia.org/wiki/Hoare_logic https://en.wikipedia.org/wiki/Hoare_logic > The central feature of Hoare logic is the Hoare triple. A triple describes how the execution of a piece of code changes the state of the computation. A Hoare triple is of the form {P}C{Q} where P and Q. are assertions and C is a command. > P is named the precondition and Q the postcondition: when the precondition is met, executing the command establishes the postcondition. Assertions are formulae in predicate logic. > Hoare logic provides axioms and inference rules for all the constructs of a simple imperative programming language. [...] > Partial and total correctness > Using standard Hoare logic, only partial correctness can be proven. Total correctness additionally requires termination, which can be proven separately or with an extended version of the While rule
- kgrizzle 8mo agoRIP to a legend.
- dariopy 8mo agoOne pivot chosen Chaos splits around its place Order grows from less
- activestore 8mo agoHoare was a great inspiration. But in terms of performant parallels software, CSP with Channel depth 1 (synchronized) never had a chance. CSP designed to work with arbitrary queue depth, especially with DAGs, well, that made my career. A Taoist to Tony!
- DaleBiagio 8mo agoHoare's influence extends much further than Quicksort and null. His work on ALGOL W with Wirth — rejected by the committee — led directly to Pascal. Meanwhile ALGOL 60, which he helped maintain, shaped the entire C lineage: ALGOL → CPL → BCPL → B → C. His 1978 CSP paper is equally significant. Go's channels and goroutines are derived from CSP. Erlang is closer to the original CSP model, communicating to processes by name rather than over channels. Rob Pike traced Go's concurrency lineage explicitly through Newsqueak → Alef → Limbo, all CSP descendants. And the null confession wasn't just rhetoric — Rust's Option<T>, Swift's optionals, and Kotlin's non-nullable defaults are all direct responses. His first degree was Classics and Philosophy at Oxford. He invented Quicksort in Moscow while building a translation dictionary.
- mikhailfranco 8mo agoObituary at The Telegraph: https://www.telegraph.co.uk/obituaries/2026/03/23/sir-tony-hoare-software-computing-algorithm-quicksort/ https://www.telegraph.co.uk/obituaries/2026/03/23/sir-tony-h...