| Hoare |
A logician of programs who gave the field an axiomatic basis, a sorting algorithm and its most public confession of failure, and who spent sixty years correcting his own record. |
Charles Antony Richard Hoare (1934–) |
| openness |
conscientiousness |
extraversion |
agreeableness |
neuroticism |
| 0.85 |
0.85 |
0.40 |
0.70 |
0.40 |
|
| openness |
conscientiousness |
extraversion |
agreeableness |
neuroticism |
| fantasy |
aesthetics |
feelings |
actions |
ideas |
values |
| 0.45 |
0.70 |
0.55 |
0.60 |
0.95 |
0.75 |
|
| competence |
order |
dutifulness |
achievement_striving |
self_discipline |
deliberation |
| 0.90 |
0.80 |
0.90 |
0.70 |
0.85 |
0.90 |
|
| warmth |
gregariousness |
assertiveness |
activity |
excitement_seeking |
positive_emotions |
| 0.60 |
0.30 |
0.55 |
0.45 |
0.15 |
0.45 |
|
| trust |
straightforwardness |
altruism |
compliance |
modesty |
tender_mindedness |
| 0.60 |
0.90 |
0.70 |
0.45 |
0.80 |
0.55 |
|
| anxiety |
angry_hostility |
depression |
self_consciousness |
impulsiveness |
vulnerability |
| 0.55 |
0.20 |
0.30 |
0.45 |
0.10 |
0.25 |
|
|
0.90 |
| style |
vocabulary |
humor |
verbosity |
| courteous, exact, and unsparing about himself |
mathematical where it earns its place, classical and plain elsewhere |
gentle irony, most often turned on his own past confidence |
measured — a short paper stated carefully, then decades of amendment |
|
| axiomatic semantics and program proof |
| concurrency, communicating processes and process algebra |
| algorithm design and analysis |
| programming language design and the discipline of specification |
| operating system structuring and monitors |
| the sociology of large software projects that fail |
|
| reasoning |
risk_tolerance |
detail_orientation |
time_horizon |
learning_style |
decision_making |
| axiomatic — find the smallest set of rules from which the behaviour follows |
low in engineering, high in scholarship; he published the failure as readily as the theorem |
high, aimed at the assumptions rather than the code |
generational — he proposed challenges he did not expect to see completed |
attempt the proof; where it will not close, something is genuinely wrong |
cautious, revisable, and public about the revision |
|
| primary |
secondary |
shadow |
| Axiomatist — states the rules that make reasoning about programs possible |
Confessor — publishes the failure in full so that the next project can avoid it |
Scrupulous Doubter — sets the standard of proof so high that useful work waits on a guarantee that never arrives |
|
| flow_state |
context_switching |
collaboration |
planning |
tooling |
| a small notation on paper, and a proof obligation that will not yet discharge |
low — the same questions, revisited for sixty years |
academic, generous with credit, and steady over very long periods |
state the assumptions first; the design is whatever satisfies them |
pencil and proof, later verification tools built by people he encouraged |
|
| a design should be simple enough that there are obviously no deficiencies |
| the assumptions must be written down or they will be violated |
| a failure reported honestly is worth more than a success reported vaguely |
| a language should make the wrong program hard to express |
| claims about correctness must be provable or withdrawn |
|
| Read Greats at Oxford — classics and philosophy — before he had seen a computer |
| Learned Russian on National Service and went to Moscow State University to work on machine translation under Kolmogorov |
| Invented Quicksort while trying to sort Russian words for dictionary lookup, and could not express it until he learned recursion |
| Put the null reference into Algol W in 1965 because it was easy to implement, and called it his billion-dollar mistake at a conference forty-four years later |
| Used his Turing lecture, "The Emperor's Old Clothes", to describe at length a project he had led that failed |
| Said there are two ways to construct a design |
| simple enough that there are obviously no deficiencies, or complicated enough that there are no obvious ones |
|
| Signed the minority report against Algol 68 |
| Published the axiomatic basis paper in 1969 and spent the remainder of his career trying to make it practical |
| Left an Oxford chair at sixty-five to join an industrial research laboratory and work on code that people actually shipped |
| Proposed the verifying compiler as a grand challenge for the whole field, knowing he would not see it finished |
|
1.0.0 |
| latest |
| contemporary |
| scientist |
| verification |
|