Christopher Strachey

Born November 16, 1916, Hampstead, London, UK- died May 18, 1975, Oxford, England; early English programmer who in 1959 proposed a form of time-sharing, illuminated the understanding of progamming languages, and developed denotational semantics.

Education: Gresham's School, Norfolk, 1930-1935; lower second, natural sciences tripos, King's College, University of Cambridge, 1938.

Professional Experience: physicist, Standard Telephones and Cables, 1938-1945; physics/mathematics master, St. Edmund's School, Canterbury, 1945-1949; master, Harrow School, 1949-1952; technical officer, National Research and Development Corp. (NRDC), 1952-1959; private consultant, 1959-1966; University Mathematical Laboratory, Cambridge, 1962-1966; Programming Research Group, Oxford University, 1966-1975.

Honors and Awards: distinguished fellow, British Computer Society, 1972.

Born in 1916 into one of England's more prominent families, Christopher Strachey was educated at Gresham's School, Norfolk, and at King's College, Cambridge. He spent the war years in radar research, after which he spent several years as a schoolmaster. His career in computing did not effectively begin until 1951 when he started to program the machines at the National Physical Laboratory and Manchester University, while still a master at Harrow School.

In 1962 he also began work in the University Mathematical Laboratory, Cambridge, where, in the nominal position "part-time research assistant," he worked on the CPL programming language. In 1965 he wound up his consultancy and resigned from Cambridge in order to form the Programming Research Group at Oxford University. Under his leadership the group quickly established an international reputation in the theory of programming. At Oxford, in collaboration with Dana Scott, he produced the work of which he was most proud, the foundation of denotational semantics; this work was just beginning to bear fruit when he died in 1975.

Returning to King's in October 1938 for a fourth and final year, he graduated in the summer with a "lower second" in the natural sciences tripos. This mediocre result was a considerable disappointment, and it dashed any hopes he had entertained of a research studentship. Obliged to find an occupation of some kind, he accepted a post as a physicist with Standard Telephones and Cables Limited (STC) at a salary of £4 per week.

Strachey began work in the Valve Development Laboratories of STC, London, in August 1939, just a month before the declaration of war with Germany.

Most of his time at STC was spent as one member of a small team led by J.H. Fremlin (later a professor at the University of Birmingham), investigating the theoretical design of centimetric radar valves. Strachey's particular contribution was the derivation of analytical formulas for valve parameters and their experimental verification. His mathematical work involved the integration of differential equations, some of which proved particularly intractable; so, with colleague P.J. Wallis, he began to obtain numerical solutions using a differential analyzer. He later came to regard this experience with a computing machine as being something of a turning point, and his interests in computing were aroused generally at this time; he began to read the literature on the subject, and from time to time he also assisted STC colleagues in computational tasks.

In July 1944 Strachey left Fremlin's group and was transferred to London to work in the STC Radio Division. This work was concerned with electrical and mechanical design, which he found much less to his taste than the theoretical work. Strachey had never liked the atmosphere of the STC laboratories (either at Ilminster or at London), which he found "rather narrow-minded and sordid."

Strachey began as "physics-cum-mathematics" master at St. Edmund's in October 1945, at a salary of £335 per annum.

He seems to have been a thorough schoolmaster: his lessons were meticulously prepared, and he spent much effort coaching his pupils for public examinations. After many applications to other schools, he was finally offered a position at Harrow School and left St. Edmund's in the spring of 1949.

Strachey began teaching at Harrow School in September 1949, at a salary of £600 a year. Securing a post at Harrow, one of Britain's leading public schools, was a real advancement to his career.

Strachey spent many of his evenings organizing societies and clubs. He was particularly keen on the science society and gave talks on topics such as interplanetary travel and the surface tension of soap films. He also played bassoon in the school orchestra, an instrument he had taught himself at St. Edmund's.

Against this background of busy "schoolmastering," Strachey's interest in computing had been largely dormant since leaving STC. Of course, computers were very much in the air in the late 1940s, and he no doubt read the semipopular articles.

His first exposure to a stored-program computer occurred in January 1951 when, through a mutual friend, he obtained an introduction to Mike Woodger of the National Physical Laboratory (NPL).

Back at Harrow, he began to write a program to make the Pilot ACE play draughts. This was typical of his early attempts at programming: anyone with more experience or less confidence would have settled for a table of squares. He got the idea of using the machine to play draughts largely from an article by Donald Davies of NPL, "A Theory of Chess and Noughts and Crosses," that had appeared in the June 1950 issue of Penguin Science News.

The following spring, Strachey learned from Woodger of the Ferranti Mark I computer that had just been installed at Manchester University. This machine had a much larger store than the Pilot ACE, with correspondingly greater scope for Strachey's kind of programming. Alan Turing, who was then assistant director of the Manchester University Computing Machine Laboratory, had written the programmer's handbook for the machine, and Strachey had known him just well enough at King's College that he could ask for and receive a copy.

He visited the Manchester Mark I for the first time in July 1951. When Strachey explained his ideas for a draughts-playing program, Turing was much impressed and suggested that another interesting problem would be to make the machine simulate itself, in the fashion of the interpretive trace routines developed for the Cambridge University EDSAC. Strachey was attracted by this idea and temporarily put the draughts program to one side. The final trace program was some 1,000 instructions long-by far the longest program that had yet been written for the machine, although Strachey was unaware of this.

Shortly after, Strachey received a letter from M.H.A. Newman, professor of pure mathematics at Manchester, complimenting him on the quality of his programs (which had been reported by Turing), and saying that he hoped to be able to offer him a post in the laboratory when one became available. Before he could do so, however, Strachey came to the notice of Lord Halsbury, managing director of the National Research and Development Corporation (NRDC). In November 1951 he was formally offered a post as technical officer with NRDC at a salary of £1200. Strachey formally began as an employee of NRDC on June 3,1952.

During the first week of September 1952, Strachey attended the second ACM National Conference, held at the University of Toronto. The conference was timed to coincide with the inauguration of the FERUT, the second Ferranti Mark I, which had been installed in the Computation Centre of the university.

NRDC had agreed to loan Strachey to the University of Toronto to help with programming the calculations for the St. Lawrence Seaway project [Williams, M.R., "UTEC and Ferut: The University of Toronto's Computation Centre," Ann Hist. Comp., Vol. 16, No. 2, 1994, pp. 4-12.] Strachey spent all of October and November, and part of the following spring, on the program. The program was very long-about 2,000 instructions-and the input data tape was estimated to be one and a half miles in length.

During his stay in North America, Strachey visited several research laboratories and computer manufacturers in the US, making a detailed study of the order codes (instruction sets) of different computers. He was perhaps the first person in Britain to realize that this subject deserved more than casual thought.

Early 1954 also saw the first of many meetings with Ferranti concerning the design of a new machine, the Ferranti Packaged-Circuit Computer (FPC, later marketed as Pegasus). He persuaded Ferranti to set up a small department to produce a programming system for the machine, and he personally took a major part in its specification. The Pegasus programming system was a high point in programming in Britain during the 1950s and had great influence.

Strachey, although a relative newcomer to computing, was 38 years old when he began work on Pegasus and was at the height of his energies and maturity; the project was undoubtedly borne along by his confidence, and he never subsequently showed such strong leadership.

In the late 1950s multiprogramming (then confusingly also known as time-sharing) was very much in the air. What Strachey proposed in his concept of time-sharing was an arrangement that would preserve the direct contact between programmer and machine, while still achieving the economy of multiprogramming. Strachey filed a patent application for time-sharing in February 1959. At the time, there was some friction between Strachey and Kilburn's group at Manchester, for much of his exposition was based on the Atlas development and preempted their own publications.

In March 1959, having been with NRDC for eight years, Strachey announced his intention of resigning in order to work as a freelance director and consultant.

Strachey formally started activities as a private consultant on June 1, 1959, operating from his private address of 9 Bedford Gardens, Kensington. As part of his consultancy agreement with Ferranti, Strachey undertook to deliver a scientific autocode for the new ORION computer. To do this work, he took on a full-time employee, Peter Landin, in January 1960. Landin spent only part of his time on the autocode; with Strachey's encouragement, he spent the remainder of his time on a theoretical study of programming languages. It gave Strachey a certain ironic satisfaction that he was financing "the only work of its sort being carried out anywhere (certainly anywhere in England)" (Strachey 1971). Landin's work, which concerned the application of Church's lambda calculus to programming language semantics, was described in a classic paper, "The Mechanical Evaluation of Expressions."

As well as financing Landin's theoretical studies, Strachey was also prominent in the public debate on programming languages, particularly Algol. For example, at the 1959 UNESCO conference in Paris, he was in fine form, holding forth on the deficiencies of Algol while perched on the edge of a table on the platform, his legs swinging.

Strachey became well known for his outspoken view that Britain had fallen seriously behind the US in the field of programming. The main reason for the poor progress in Britain, Strachey perceived, was the small size of British machines. It was simply not possible to implement a LISP compiler on a machine the size of Pegasus, which was then the workhorse of most university computer centers.

In June 1962 Wilkes invited Strachey to work full-time in the University Mathematical Laboratory, Cambridge, to participate in the development of a new programming language and compiler for the Titan computer. Strachey accepted enthusiastically and began work the following month. A considerable financial sacrifice was involved, for the salary that Wilkes was able to offer was very modest by comparison with the consultancy fees he was then able to command.

The CPL (Cambridge Programming Language) project got off to a most promising start. By mid-August, the project group, which consisted of Strachey, Baron, and David F. Hartley, had produced an outline proposal. In the autumn, the group began to collaborate with Eric Nixon and John N. Buxton of the London University Computer Unit, so that CPL could also be used on the London University Atlas.

Concurrent with the CPL activity at Cambridge, it must be recalled that Strachey was also in business as a private consultant, with an office, a secretary, and his principal assistant Peter Landin to support. From mid-1963 he was actively seeking an opportunity to lead a university research group in the theory of programming. At first it was hoped to set up a research unit in the Mathematical Laboratory at Cambridge, but this proved unsuccessful. In January 1964 Strachey also unsuccessfully competed for the chair of Computing Science at Imperial College, University of London. Finally, he secured the support of Leslie Fox, who succeeded in obtaining a DSIR grant to set up a programming research group at Oxford University in July 1965.

Although DSIR support for the Programming Research Group (PRG) ran from July 1965, Strachey did not take up residence at Oxford until April 1966. The work on CPL continued. In June, Strachey convened a meeting of the full CPL group, which decided no doubt as a result of his lack of restraint in revising earlier drafts that Strachey should edit and distribute the final version of the CPL reference manual. During the remainder of 1966, Strachey and David Park continued to work on CPL and prepare the reference manual, entitled the CPL Working Papers.

During the second half of 1967, Strachey wrote "Fundamental Concepts in Programming Languages," one of his most important and lengthy papers, which (typically) remains unpublished in its original form. Like much of Strachey's work at Oxford, however, the paper had an influential private circulation.

Since taking up his appointment at Oxford, Strachey had limited his external activities so as to detract as little as possible from his academic work. For example, he resigned his directorship of CAP in 1967, although he remained a shareholder and a consulting fellow. He now took little active part in British Computer Society affairs. He did serve on the computer science subcommittee of the SRC, and he still gave occasional external lectures and did a little consulting; but these activities were on a much reduced scale compared with the early 1960s. On one notable occasion he joined forces with Stanley Gill and Alex d'Agapeyeff to address a Labour Party Science and Technology Committee, and on another in July 1973 he took part in a television debate on the Lighthill report on AI research in Britain.

Strachey's own research into mathematical semantics took an important step forward during 1969 as a result of his collaboration with Dana Scott. Scott, a mathematical logician then at Princeton University, was halfway through a year's sabbatical leave in Europe when he first saw Strachey at a lively meeting of IFIP Working Group 2.2 in Vienna at Easter.

Scott's contribution was to provide a sound mathematical basis for the lambda-calculus models that Strachey used in his formal semantics. Strachey had first used this device in 1964 in his paper "Towards a Formal Semantics," but now conceded it was "gravely lacking in mathematical rigour."

Strachey decided, early in 1973, to submit an essay for the Adams Prize of Cambridge University, an award that has secured the reputation of many distinguished British mathematicians over the years. The subject for the Adams Prize for 1973-1974 was "Computer Science excluding Hardware," and the competition was open to persons admitted to a degree of the university. Apart from its obvious practical value as the kind of tangible evidence that would impress a Royal Society election committee, winning the Adams Prize perhaps meant something deeper to Strachey in terms of recognition from the alma mater. The essay for the Adams Prize dominated the remainder of his life.

The Adams essay included an important historical account of the development of the Oxford semantics and a final reworking of his "Fundamental Concepts in Programming Languages." The essay, with a few sections still unwritten, was finally dispatched to the Cambridge University Registry at the very end of 1974. The effort of writing the Adams essay took its toll on Strachey, and early in 1975 he spent several weeks away from Oxford resting. He returned to Oxford in the spring, where he continued to work with Milne at completing the essay and revising it into book form. In a matter of weeks, however, he contracted an illness diagnosed as jaundice; he obeyed the usual dietary restrictions and made an apparent recovery, but the illness quickly returned. He died of infectious hepatitis on May 18, 1975. The winner of the Adams Prize was announced shortly after Strachey's death. The submission of Strachey and Milne did not win.

Strachey made three important technical contributions to computing in Britain: the logical design of computers, the design of programming languages, and the development of denotational semantics.

Strachey was responsible for a strong current of influence in the design of programming languages. Perhaps more important than any details of a particular language was the example that Strachey set: his whole approach to the subject and his way of going about things. Donald Michie made this point well when he wrote in 1971:

Today an "invisible college" of programming theory exists throughout the Universities of Britain. Almost every member of this "college" was guided along the path at some stage by Strachey's direct influence. Developments of theory may in the long run prove decisive in helping to clear the hurdles of software engineering which still lie ahead (Michie 1971) [Extracted from Campbell-Kelly 1985.]

QUOTATIONS

'Work out what you want to say before you decide how you want to say it." (Strachey's First Law of Logical Design)

"Computing Science: The study of the use and sometimes construction of digital computers. It is a fashionable, interesting, difficult, and perhaps useful activity."

BIBLIOGRAPHY

Biographical

Alton, J., et al., Catalogue of the Papers of Christopher Strachey (1916-1975), Contemporary Scientific Archives Center, Oxford, UK, 1980.

Campbell-Kelly, Martin, "Christopher Strachey, 1916-1975: A Biographical Note," Ann. Hist. Comp., Vol. 7, No. 1, Jan. 1985, pp. 19-42.

Michie, D., "Computing: Can Britain Set the Pace?," University of Edinburgh Bulletin, Vol. 8, No. 3,1971, pp. 1-2.

Significant Publications

Scott, Dana, and Christopher Strachey, "Towards a Mathematical Semantics for Computer Languages," Proc. Symp. on Computers and Automata, Polytechnic Institute of Brooklyn, Apr. 1971, pp. 19-45.

Strachey, C., "Programme-Controlled Time Sharing," Proc. IEE, Vol. 106, Part B, 1959, p. 462.

Strachey, C., "Time-Sharing in Large Fast Computers," Proc. Intl. Conf. Information Processing, UNESCO, Paris, 1960, pp. 336-341.

Strachey, Christopher, and Maurice V. Wilkes, "Some Proposals for Improving the Efficiency of Algol 60," Comm. ACM, Vol. 4, No. 11, 1961, pp. 488-491.

Strachey, Christopher, "Systems Analysis and Programming," Scientific American, Vol. 25, No. 3, 1966, pp. 112-124.

Strachey, Christopher, and R.E. Milne, A Theory of Programming Language Semantics, 2 Vols., Chapman and Hall, London, 1976.

UPDATES

Portrait added (MRW, 2013)

PDF version

Original content Copyright © 1995 by the Institute of Electrical and Electronics Engineers Inc.
New content Copyright © 2013-2015 by the IEEE Computer Society and the Institute of Electrical and Electronics Engineers Inc.
All rights reserved. This material may not be reproduced or redistributed without the express written permission of the copyright holder.