Types of some computer science pioneers

In general, computer science was built largely by intuitive theoreticians — the visionaries who saw whole new abstract worlds before there were machines to test them in. But alongside them runs a more rigorous type of researcher, for whom the discipline was about logical structure and correctness first rather than dazzling possibility.

John von Neumann — ILE with an LIE accent (also typed as ILE by WSS). He is often remembered for the bomb's implosion math and for the Cold War modeled as a zero-sum game, and so the lazy reading can make him the ultimate pragmatist. But his native act was to take any worldly thing and dissolve it into its abstract logical structure, then play with the structure for the sheer delight of it. His founding paper was literally titled "On the Theory of Parlor Games," chess and poker and their abstract equivalents, from which the deep structure later got applied to economics and war. Everything corroborates the type — the frictionless speed (calculating amid a nightclub floor show, waking with the answer to a problem he'd slept on), the centrifugal breadth across a dozen fields at once, the hard-partying bon vivant who, in his wife's words, "could count everything except calories," his grip on his own bodily life as loosely held as his grip on ideas was tight. His extroverted engagement with the external is the natural foil to more introverted researchers like Turing: the same love of pure logical structure, one man's burrowing downward into a single deep question, the other's ranging at speed across the whole bright surface of the world.

"For progress there is no cure.... The only safety possible is relative, and it lies in an intelligent exercise of day-to-day judgement."

Alan Turing — LII with a slight IEI accent. He constructed an abstract logical entity purely through imagination and derived computation as a whole from it. The universal machine is a theoretical Ti concept, derived from first principles which finally define what is meant by "computation." The imitation game follows suit: take a broad conceptual issue like "are machines able to think?" and replace it with a well-defined procedural test. The IEI accent is the eccentric, almost dreamlike quality that everyone who ever met him noted: the attraction towards deep questions about mind and meaning and the nature of thought, the feeling of a man inhabiting his own slightly detached world. While the base provided the formal machine, the accent contemplated the idea of what it would be like to make the machine have an inner life, and gave his work its almost metaphysical reach.

"I believe that in about fifty years' time it will be possible, to programme computers, with a storage capacity of about 109, to make them play the imitation game so well that an average interrogator will not have more than 70 per cent chance of making the right identification after five minutes of questioning. The original question, "Can machines think?" I believe to be too meaningless to deserve discussion. Nevertheless I believe that at the end of the century the use of words and general educated opinion will have altered so much that one will be able to speak of machines thinking without expecting to be contradicted."

Edsger Dijkstra — LSI, maybe with even some SLE accent. With Dijkstra the structural-logic turns from building worlds to enforcing order, and acquires a harder edge. His lifelong campaign was for discipline and correctness: that programs should be proven right by reasoning, not merely tested, since (as he famously put it) testing can show the presence of bugs but never their absence, that a single correct, well-structured method exists and deviation from it simply corruption. This "inspector" posture was magisterial, self-confident, delivered from a kind of pulpit in his handwritten manifestos. He pronounced that the use of COBOL "cripples the mind" and should be a criminal offense, that students exposed to BASIC were "mentally mutilated beyond hope of regeneration." It is the LSI's relationship to structure — hierarchy, rigor, the one right order, and contempt for the sloppy and undisciplined. Dijkstra wanted to impose correctness on a field he found chaotically lax. His approach seemed to be as much temperamental as it was technical. His Wikipedia article describes his teaching style in quite a typical manner:

"At the beginning of each semester, he would take a photo of each of his students in order to memorize their names. He never followed a textbook, with the possible exception of his own while it was under preparation. When lecturing, he would write proofs in chalk on a blackboard rather than using overhead foils. He invited the students to suggest ideas, which he then explored, or refused to explore because they violated some of his tenets. He assigned challenging homework problems, and would study his students' solutions thoroughly. He conducted his final examinations orally, over a whole week. Each student was examined in Dijkstra's office or home, and an exam lasted several hours."

Tony Hoare — LII, with a possible accent on LSI. Hoare ultimately belongs to the same strict correctness tradition as Dijkstra, but he was more the theorist of correctness. He gave us Hoare logic (the formal apparatus for proving that a program does what it claims, starts with a simple {P}C{Q} schema, where P and Q are assertions, and C is a command, and then goes on to be more complex) and Quicksort, the elegant "divide-and-conquer" sorting algorithm that is more efficient than its elternatives. His most famous public statement is a confession: that the null reference he introduced in 1965 was his "billion-dollar mistake," put in simply because it was easy to implement, and responsible for untold errors since. The willingness to reopen his own foundations and reason about where they failed — his Turing lecture was wryly titled "The Emperor's Old Clothes" — is more LII'ish.

"My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years."

Grace Hopper — LIE with a Ne accent. Hopper's career was a building toward a future nobody else could yet see. Where her colleagues treated programming as the hand-coding of machine instructions, she envisioned something further off — machine-independent, English-like languages that would let a vastly wider population use computers at all — and she invented the compiler, FLOW-MATIC, and ultimately COBOL to make that future real, against entrenched resistance the whole way. That fusion of long-range vision with relentless drive to get it adopted is the engine of the type: she was a pro at marketing as much as at mathematics, risked her academic career to leave Vassar for industry "to provide businesses with computers," and never gave up on an idea once she had it. Her famous motto — "it's easier to ask forgiveness than to get permission" — and the clock on her wall that ran counter-clockwise capture the progressive anti-inertia "TeNe" (a rare, but attractive function combination) streak that the biographer Jay Elliot called "a pirate dying to be released" beneath the Navy uniform. Even her most systematic work — the validation and conformance-testing standards she drove for COBOL across the entire Navy — was not order for order's sake but in service of a result: portability, lower costs. This is what separates her from the more "structural" types.

"They're going right to building them bigger and bigger and faster and faster. They'd do much better to build a system of computers and have them operate in parallel. We'd get much more done, faster… My analogy is that back in the early days of this country, when they moved heavy objects around, they didn't have any Caterpillar tractors and they didn't have any big cranes. They used oxen. And when they got a great, big log on the ground and one ox couldn't move it, they didn't try to grow a bigger ox. They used two oxen."


Comments