Strachey, Christopher

views updated

STRACHEY, CHRISTOPHER

(b. London, United Kingdom, 16 November 1916; d. Oxford, United Kingdom, 18 May 1975),

computer science, computer programming languages and semantics.

Strachey was one of the most original computer scientists of his generation, making important contributions to computer design and to programming practice and theory. After some exposure to computing instruments during World War II, in the 1950s and 1960s he held several wide-ranging appointments and consultancies. In 1969 he established the Programming Research Group at Oxford University, and was professor of computer science from 1971 until his death in 1975.

Family Background and Education Born in Hampstead, London, Strachey was the only son and the second of the two children of Oliver Strachey and Ray Costelloe. Oliver was born into a distinguished British literary and political dynasty, and his relations included Lytton Strachey, the biographer, and John Strachey, who became secretary of state for war in the Clement Atlee government. Inheriting the Strachey family’s passion for puzzles and games, Oliver served as a cryptographer in the War Office Code and Cypher School during World War I. Christopher’s mother, Ray, was the daughter of an American Quaker family. Trained as a mathematician and engineer, she was a pioneer of the women’s movement, and the author of one of its most influential books (The Cause, 1928).

In 1919 the family moved to Gordon Square, Bloomsbury, London, the center of an intellectual circle known as the Bloomsbury Group. The family’s neighbors included some of Britain’s leading intellectuals, such as Clive and Vanessa Bell, Virginia and Leonard Woolf, and John Maynard Keynes. Exposure to this well-born intellectual clique left an indelible stamp on Strachey. He was brilliant in conversation, musically accomplished, and held strong opinions on all subjects. He could be charming and witty, but also arrogant with a woundingly sarcastic tongue.

Although he was a precocious child, Strachey’s educational achievements were undistinguished. At the age of thirteen he was sent to Gresham’s School, Norfolk, an establishment selected for its reputation in science teaching. Although showing occasional flashes of brilliance, his mediocre examination results enabled him to secure only a “minor exhibition” to Kings College, Cambridge University. He went up to Kings College in October 1935, and initially studied mathematics, but he quickly fell behind and then switched to physics, which he found less demanding. He graduated in 1939 with a disappointing “lower second” in the natural science tripos, a result that dashed his hopes of a research studentship. He therefore obtained a post as a physicist with Standard Telephones and Cables Limited (STC). He took up his appointment in August 1939, just a month before Britain declared war on Germany.

War Service and Schoolmastering Strachey was employed in the Valve Development Laboratory of STC in London, but the laboratory was shortly evacuated to Ilminster, in the southwest of England. There he was a member of a small team led by John H. Fremlin (later professor of physics at Birmingham University) investigating the theoretical design of centimetric radar valves (“valve” was the United Kingdom term for what was known as a “tube” in the United States). Strachey worked on the derivation of analytical formulae for valve characteristics and their experimental verification. This required him to integrate differential equations numerically, for which he used a differential analyzer, the most important prewar computing instrument. Strachey became fascinated by computing problems and computing machinery; he read widely on the subject, and became a local expert in STC. Thereafter he took every opportunity to work on computing problems for both his own research and that of colleagues.

Strachey had a long-standing intention of becoming a schoolmaster, and at the end of the war he left STC to become a teacher of physics and mathematics at St Edmund’s School, Canterbury, a minor public school (that is, a private, fee-paying school—British terminology is confusing on this point). He proved an inspirational teacher and reveled in school life—he revived societies moribund since the start of the war, sang in the school choir, and played in the orchestra. In 1949, in order to advance his career, he sought and obtained a position at Harrow School, one of Britain’s top half-dozen public schools. There he further honed his teaching skills and he was known as a spellbinding instructor. He never lost this gift, though it sometimes crossed over into a schoolmasterish manner that could grate on colleagues.

Strachey’s interest in computing had been dormant since leaving STC, but was reawakened by press and radio reports of “electronic brains” in the late 1940s. He bought a copy of Norbert Weiner’s classic Cybernetics (1948) and from that time on he never looked back. During 1949–1951 the first British experimental computers came into service—at Cambridge University, Manchester University, and the National Physical Laboratory (NPL— the British equivalent of the U.S. National Bureau of Standards, now the National Institute of Standards and Technology). In spring 1951 Strachey was given an opportunity—through the introduction of a well-placed friend—to use the Pilot ACE computer at the NPL. He wrote a program to enable the computer to play the game of draughts (checkers). It was typical of Strachey that he should write a program that explored machine logic and reasoning rather than one for mathematical computing, for which the machine was designed.

Early in 1951 Manchester University installed the Ferranti Mark I, the world’s first commercially available computing machine, built to the university’s own design. This was a much bigger machine than that at the NPL, and therefore much more suitable for Strachey’s kind of programming. At that time Alan Turing was the assistant director of the computer laboratory, and Strachey knew him just well enough to be allowed to use the machine— they had both been at Kings College, when Strachey was a lowly student and Turing a research fellow with a growing reputation. At Turing’s suggestion, Strachey wrote a machine-simulation program to enable the computer to monitor the execution of its own programs. This was an esoteric program for its day and, at more than one thousand instructions long, considerably the longest so far written for the machine. Strachey was given overnight use of the machine, and by the following morning the program was working. It was a programming tour de force that established his reputation, which rapidly diffused through the small British computing community.

A few months later, Strachey was approached by Lord Halsbury (John Giffard), managing director of the National Research and Development Corporation (NRDC). The corporation had been established by the government in 1949 to exploit and patent British inventions in developing areas of technology—of which computing was seen as that with the most potential. Strachey accepted a post as a technical officer in the computer division of the corporation, at a salary of double his school-master’s pay.

At the National Research and Development Corporation Strachey began work at the NRDC in June 1952, with the remit to work on computer applications and computer design. He initially worked on computer applications. The most important of these was the calculations for the St. Lawrence Seaway project for the Hydro-Electric Board of Canada. For this program he used the Ferranti FERUT computer—a copy of the Manchester University machine—installed at the University of Toronto. Besides being a feat of programming virtuosity—some two thousand instructions altogether—the experience heightened Strachey’s awareness of the requirements of programmers. Strachey became convinced that computer designers who were not also programmers could not empathize sufficiently with users to create effective designs. In 1953–1954 he redesigned the instruction set—the programmer’s primary computer interface—for a prototype computer known as the Elliott 401, and the revised machine was subsequently marketed as the model 402. During 1954–1956 he undertook the design of a new computer, the Ferranti Pegasus, from the ground up.

The Pegasus was a pathbreaking design, with many large and small innovations. One of the most important inventions was the elimination of the “optimum coding” technique. Optimum coding was first used by Turing in his design for the NPL ACE computer. In this design, every instruction nominated the address of its successor in order to minimize the waiting time between successive instructions. Optimum coding could improve machine performance by a factor of five, but at the cost of such programming complexity that in practice few users could get the best out of the machine. Using elegant hardware design, Strachey achieved an acceptable level of optimization in a way that was transparent to the user and required no special programming techniques. This made the Pegasus both very usable and price competitive, and it was one of the best-selling British computing machines of its era. As well as the overall system design, Strachey designed the instruction set and the programming system. Perhaps no machine, before or since, has borne the stamp of its principal designer to such a degree. Strachey’s design style influenced British computer architecture for the next decade.

Strachey is credited as being the first individual to propose computer “time sharing,” although the first practical system was developed by the Massachusetts Institute of Technology (MIT). In a time-sharing computer of the period, a large expensive computer was shared between many simultaneous users, each of whom was given a fraction of the machine’s power. In this way users had the illusion of having a full computer (though one of reduced power) to themselves—it was the nearest that era came to a personal computing experience. Strachey described his ideas at the UNESCO Conference on Information Processing in Paris, June 1959, and a patent application was also filed. Strachey’s scheme was far more than a blue-sky proposal; it was worked out in practical detail. The user experience in the Strachey scheme was somewhat different to that which subsequently evolved in practical time-sharing computers. Strachey envisaged users having a traditional input-output console consisting of a paper-tape reader and a printer. His scheme would thus have used a large computer to replicate the typical 1950s computing experience for many simultaneous users. In part this was a limited vision, but it was also one that was grounded in computing practice as he knew and understood it. In the event, practical time-sharing systems came to use teletypes and CRT-based visual display units as the standard user interface. This superior interface owed much to J. C. R. (Joseph Carl Robnett) Liklider, the visionary head of the Advanced Research Project Agency’s Information Processing Techniques Office, which provided funding for MIT’s time-sharing computer projects.

In 1959 Strachey resigned from the NRDC to work as a freelance computer consultant. During his time at the NRDC he had served as the corporation’s representative on numerous national committees; he had become something of a pundit, frequently lecturing on computer topics and making occasional broadcasts; and his reputation as a computer designer and programming expert was unrivaled. He was therefore exceptionally well placed to operate as an independent consultant.

Private Consulting and Cambridge University Strachey opened his consulting business from an office in his home in Bedford Gardens, Kensington, London, in June 1959. The next few years were perhaps the most productive of his life; certainly the most remunerative. His primary consulting engagements were in computer design, applications programming, and programming language implementation. His computer-design commissions included work on the Elliott 502, a military computer for Decca Radar, and the EMI 2400 and the EMI 3400 computers—the latter a giant machine that never came to market.

Strachey’s most important programming-language contract was for a scientific “autocode” for the Ferranti Orion computer. To assist in this work he hired a young researcher, Peter Landin (subsequently a professor at Queen Mary College, University of London). Landin spent much of his time trying to specify the semantics (what the language did) as opposed to the syntax (how to form grammatically correct statements); at that time the latter had attracted much more academic interest. Landin’s work opened a new research window for Strachey, and programming language semantics would be his primary research interest for the remainder of his life. Strachey was at the center of programming language research in the United Kingdom, actively participating in committees of the British Computer Society and International Federation for Information Processing (IFIP), as well as organizing research colloquia at his London residence in Bedford Gardens.

Maurice V. Wilkes, head of the Cambridge University Computer Laboratory, invited Strachey to design and implement a programming language for the Titan computer that was then under construction. Despite a considerable financial sacrifice, Strachey accepted a part-time research fellowship in the laboratory in June 1962. He collaborated with David Barron and David Hartley, and within two months they had produced a preliminary specification for the Combined Programming Language (CPL). Stylistically, CPL was similar to the international Algol language, but it had many additional features for the efficient implementation of programs in different problem domains—scientific computation, business data processing, and systems programming. The following autumn, Eric Nixon and John Buxton of the London University Computing Unit joined in the development, and a complete specification was published in the Computer Journal in February 1963.

CPL never became a mainstream language, in part because Strachey never completed the Cambridge implementation, instead being diverted to the study of programming language semantics. He delivered a paper, “Towards a Formal Semantics,” at an IFIP conference in 1965, which was published the following year. Strachey regarded this paper as the most important outcome of his CPL work. A less important paper on programming, though more widely read for sure, appeared in Scientific American in a special edition on computers and information in September 1966. Although little used, CPL had an important influence on programming language design. In 1966 Martin Richards, a research assistant on the CPL project, moved to MIT, where he developed the BCPL (Basic CPL) language. In its turn, BCPL was a key influence on the design of the C programming language introduced in the early 1970s; C was to become the most important systems implementation language until it began to be superseded by C++ in the 1990s.

Another outcome of the CPL project was Strachey’s General Purpose Macrogenerator (GPM). This tiny programming system was intended as an implementation tool for CPL, but it soon took on a life of its own. The macro-generator used a small set of programming primitives to transform text. It was designed to make program transformations and extensions, but it could also be used for less serious purposes—in one case it was used to compute nursery rhymes. GPM was implemented in almost every country where computing was a research subject. Although Strachey described GPM as a beguiling time-waster, in the mid-1960s its economy and elegance captured the hearts and minds of many academic computer scientists. Although largely forgotten in the early twenty-first century, it was the most complete and self-contained piece of work he produced.

Strachey was strident in his belief that too much university computer science research was directed to numerical applications, whereas he believed that far more interesting problems lay in nonnumerical applications— such as artificial intelligence and systems programming. His outspoken comments—some made with Professor Stanley Gill of Imperial College—led the numerical analyst Leslie Fox, who was director of the Oxford University Computing Laboratory, to invite the pair to organize a summer school on nonnumerical computing at Oxford in 1963. The publication of the proceedings of the summer school Advances in Programming and Non-Numerical Computation (1966) marked a shift in the cultural landscape away from scientific applications to real computer science.

Strachey had always had a hankering for the academic life, and with the help of Fox, he obtained funding from the Department of Scientific and Industrial Research to establish a Programming Research Group (PRG) at Oxford University. Located in a Victorian house in Banbury Road, Oxford, the organization was to become the most prestigious center for programming research in the United Kingdom, a distinction it still holds at the time of writing.

The Programming Research Group, Oxford University Strachey took up residence in Oxford in April 1966. The PRG initially consisted of just himself and a research fellow, David Park (subsequently professor of computer science at Warwick University). The first several months were spent cleaning up the CPL activity of the previous years and producing a reference manual that was issued, not so much with a roar as a whimper, as a mimeographed report The CPL Working Papers. Strachey was notoriously reluctant to publish, seemingly intimidated by the stellar literary talents of the Bloomsbury Group. In speech he was voluble and loquacious, even overbearing, but he was reluctant to publish anything he felt was less than perfect. Just 150 copies of the CPL Working Papers were circulated within the programming language research community. The following year he wrote “Fundamental Concepts of Programming Languages,” another influential paper, but less influential than it could have been because of its limited circulation as an unpublished research report.

In 1967 Strachey was appointed a university reader in computer science, and was made a fellow of the newly created Wolfson College. Strachey threw himself into college life with an enthusiasm not seen since his days as a schoolmaster. The PRG had also begun to take off, having attracted several research students and was offering courses in computing to final year undergraduate and postgraduate students.

In 1969 the PRG acquired a British-manufactured minicomputer, the Computer Technology Limited (CTL) Mod 1, for which Strachey and his research assistant J. E. (Joe) Stoy wrote a single-user operating system. It was a programming tour de force, Strachey’s first in many years. After a number of iterations, the operating system was named OS6 and a two-paper account was published in the Computer Journal. The project had some parallels with the Unix operating system developed at Bell Labs at the same time. Sadly, very few CTL computers were sold, so the Strachey-Stoy operating system was little used outside Oxford. By contrast, Unix had been developed for a very popular Digital Equipment Corporation minicomputer that was used by hundreds of U.S. universities, and it spread like wildfire.

The last five years of Strachey’s life were dominated by a single-minded effort to write a definitive account of his theory of programming language semantics— subsequently known as “denotational semantics.” He gave up most of his consultancies and speaking engagements, only occasionally being induced to speak at high-profile events such as political committees or on the famous BBC television debate on the future of artificial intelligence in July 1973. During this period he entered on the most important academic collaboration of his life with Dana Scott, a Princeton mathematical logician. Scott visited Strachey for a sabbatical term in fall 1969 and helped him to put his semantics on a sound mathematical footing, which had previously been lacking. At the same time that denotational semantics was taking shape, the PRG was gaining an international reputation, and Strachey’s personal reputation was soaring with his appointment to a personal chair and a Distinguished Fellowship of the British Computer Society, both in 1971.

Strachey decided to submit an essay on programming language semantics for the 1973–1974 Adams Prize of Cambridge University, with the aim of perhaps winning but also of using the deadline to force his normal writing pace. He collaborated with a research visitor from Cambridge University, Robert Milne. The essay did not win, and Strachey was exhausted by the effort. In early 1975 he began revising the essay for publication in book form, but a few weeks later he contracted what was diagnosed as jaundice. He made an apparent recovery, but then relapsed. He died of infectious hepatitis on 18 May 1975. The book was published posthumously in 1976 in two formidable volumes as A Theory of Programming Language Semantics. Strachey’s protégé and collaborator Stoy published a more accessible textbook Denotational Semantics the following year, and programming language semantics firmly entered the computer science curriculum.

As with many computer scientists of his generation, Strachey’s projects and publications do not amount to a coherent body of work. He lived at a time when computing was being shaped—the theories, practices, and technologies were all advancing rapidly. For example, one of his triumphs, the Pegasus computer, was rendered obsolete within a few years and is only of historical interest in the twenty-first century. Likewise his application programs, although brilliantly executed, were frankly ephemeral. Their ingenuity was dictated by the constraints of the technology; once those constraints were removed for the next generation of programmers, such ingenuity was unnecessary. In the study of programming languages and their semantics, however, Strachey produced work of permanent value. The “DNA” of CPL runs right through modern programming languages, and denotational semantics is likely to be a permanent strand of computer science.

BIBLIOGRAPHY

WORKS BY STRACHEY

“Time Sharing in Large Fast Computers.” Proceedings of the International Conference on Information Processing, UNESCO(Paris, June 1959): B336–B341.

With David W. Barron, John N. Buxton, et al. “The Main Features of CPL.” Computer Journal 6, no. 2 (1963): 134–143.

“A General Purpose Macrogenerator.” Computer Journal 8, no. 3 (1965): 225–241.

Systems Analysis and Programming.” Scientific American 215 (March 1966): 112–124.

“Towards a Formal Semantics.” In Formal Language Description Languages for Computer Programming; Proceedings, edited by Thomas B. Steel, 198–220. Amsterdam: North-Holland, 1966.

With David W. Barron. “Programming.” In Advances in Programming and Non-Numerical Computation, edited by Leslie Fox, 49–82. Oxford and New York: Symposium Publications Division, Pergamon, 1966.

With Joseph E. Stoy. “OS6—An Experimental Operating System for a Small Computer. Part 1: General Principles and Structure.” Computer Journal 15, no. 2 (1972): 117–124.

———. “OS6—An Experimental Operating System for a Small Computer. Part 2: Input/Output and Filing System.” Computer Journal 15, no. 3 (1972): 195–203.

With Robert E. Milne. A Theory of Programming Language Semantics. London: Chapman & Hall; New York: Wiley, 1976.

OTHER SOURCES

Alton, Jeannine, Harriot Weiskittel, and Julia Latham-Jackson, comps. Report on Correspondence and Papers of Christopher Strachey, Computer Scientist, 1934–1975. London: Reproduced for the Contemporary Scientific Archives Centre by the Royal Commission on Historical Manuscripts, 1980. Strachey’s extensive personal papers are located in the Bodleian Library, Oxford. The catalog provides valuable biographical context.

Campbell-Kelly, Martin. “Christopher Strachey 1916–1975: A Biographical Note.” Annals of the History of Computing 7 (January 1985): 19–42. The most comprehensive biographical account of Strachey.

Higher-Order and Symbolic Computation 13 (April 2000). A special issue of the journal commemorating the 25th anniversary of Strachey’s death and surveying his intellectual legacy.

Martin Campbell-Kelly