RIP Sir Charles Antony Richard Hoare (11 January 1934 – 5 March 2026), also known as C. A. R. Hoare, pioneering computer scientist.

His seminal contributions include -
Quicksort
Quickselect
Hoare logic
Null reference
Communicating sequential processes
Structured programming
ALGOL

https://blog.computationalcomplexity.org/2026/03/tony-hoare-1934-2026.html
https://amturing.acm.org/award_winners/hoare_4622167.cfm
https://en.wikipedia.org/wiki/Tony_Hoare
1/n

Some food for thought by C. A. R. Hoare -

The real value of tests is not that they detect bugs in the code but that they detect inadequacies in the methods, concentration, and skills of those who design and produce the code.

Premature optimization is the root of all evil in programming.

In the development of the understanding of complex phenomena, the most powerful tool available to the human intellect is abstraction.

The price of reliability is simplicity.

https://www.youtube.com/watch?v=QUOlyIHmBrM
2/n

Hoare on communicating sequential processes

YouTube

How many of you can quickly sketch out the design of a Quicksort routine?
How many of you have written a Quicksort routine? In what language?
How many of you have worked on extending Quicksort in functionality and performance?
Extra points for using ALGOL!

https://www.cs.ox.ac.uk/files/6226/H2006%20-%20Historic%20Quicksort.pdf
3/n

@AkaSci

\o in Pascal in the 90's

Still don't fully understand it tbh 🀭

🫑RIP🫑

@jfbucas @AkaSci I did it in an Hewlett Packard proprietary language called SPL in the 1980s so it could be called from COBOL programs, which were all using bubble sort before this. Damned if I can remember anything about it.

@AkaSci
I implemented it in Modula-2 with a comparison virtual function as one of the parameters. Other parameters were a source and destination.

So it it could sort any type / structure.

I likely still have the source somewhere.

Anyone who thinks M2 is just an updated Pascal doesn't understand opaque modules, concurrency (in the language), magic types inc array size calls for writing drivers and passing typed procedures as parameters. Or why M2 doesn't allow assignment between anon arrays.

@AkaSci spend three weeks optimizing a Turbo Pascal Quicksort in the late 80s. Lots of variants, and a bit later also in Think Pascal
@AkaSci First programming language I learned was ALGOL W designed by him and Worth.
@AkaSci The day we learned Quicksort in my algorithms course was one of the days that reinforced how much we stand on the shoulders of giants.
@AkaSci So many memories of reading his papers in the 80s - I'm not sure there are many wide ranging of his generation left :-(
@AkaSci ALGOL has outlasted its creator: the IFIP WG 2.1 is still active, or at least, not completely inactive: https://en.wikipedia.org/wiki/IFIP_Working_Group_2.1
IFIP Working Group 2.1 - Wikipedia

@AkaSci

I met him a few times, discussing my rather trivial work for the MSc in Computation that I didn't get, and he was a tremendously nice person. I hadn't realised he was still around.

@AkaSci
Tony Hoare was one of the tutors at Oxford, and I remember him as a very clever, and also very nice, person.

The world will miss him.

@AkaSci
Unfortunately, Hoare missed the third possibility, the software development methodology now used by nearly the entire industry, which is to continuously make software more complex, and not even bother trying to make it have no obvious deficiencies.
He can be forgiven for not anticipating that. It didn't arise from technical trends, but rather, from software development joining the race to the bottom seen in nearly every other field, driven by maximizing next quarter's executive bonuses.