Christopher Strachey
Christopher Strachey | |
---|---|
Born | Hampstead, England | 16 November 1916
Died | 18 May 1975 Oxford, England | (aged 58)
Citizenship | British |
Education | Gresham's School |
Alma mater | University of Cambridge (BA) |
Known for | CPL, denotational semantics, Fundamental Concepts in Programming Languages, time-sharing |
Parent(s) | Oliver Strachey Ray Costelloe |
Scientific career | |
Fields | Computer Science |
Institutions | University of Cambridge, University of Oxford St Edmund's School, Canterbury Harrow School |
Doctoral students | Peter Mosses David Turner |
Christopher S. Strachey (/ˈstreɪtʃi/; 16 November 1916 – 18 May 1975) was a British computer scientist.[1][2][3] He was one of the founders of denotational semantics, and a pioneer in programming language design and computer time-sharing.[4] He has also been credited as possibly being the first developer of a video game[5] and for coining terms such as polymorphism and referential transparency that are still widely used by developers today.[6] He was a member of the Strachey family, prominent in government, arts, administration, and academia.
Early life and education[edit]
Christopher Strachey was born on 16 November 1916 to Oliver Strachey and Rachel (Ray) Costelloe in Hampstead, England. Oliver Strachey was the son of Richard Strachey and the great-grandson of Sir Henry Strachey, 1st Baronet. His elder sister was the writer Barbara Strachey. In 1919, the family moved to 51 Gordon Square. The Stracheys belonged to the Bloomsbury Group whose members included Virginia Woolf, John Maynard Keynes and Christopher's uncle Lytton Strachey. At 13, Christopher went to Gresham's School, Holt where he showed signs of brilliance but in general performed poorly. He was admitted to King's College, Cambridge (the same college as Alan Turing) in 1935 where he continued to neglect his studies. Strachey studied mathematics and then transferred to physics. At the end of his third year at Cambridge, Strachey suffered a nervous breakdown, possibly related to coming to terms with his homosexuality. He returned to Cambridge but managed only a "lower second" in the Natural Sciences Tripos.[7]
Career[edit]
Unable to continue his education, Christopher joined Standard Telephones and Cables (STC) as a research physicist. His first job was providing mathematical analysis for the design of electron tubes used in radar. The complexity of the calculations required the use of a differential analyser. This initial experience with a computing machine sparked Strachey's interest and he began to research the topic. An application for a research degree at the University of Cambridge was rejected and Strachey continued to work at STC throughout the Second World War. After the war he fulfilled a long-standing ambition by becoming a schoolmaster at St Edmund's School, Canterbury, teaching mathematics and physics. Three years later he was able to move to the more prestigious Harrow School in 1949, where he stayed for three years.
In January 1951, a friend introduced him to Mike Woodger of the National Physical Laboratory (NPL). The lab had successfully built a reduced version of Alan Turing's Automatic Computing Engine (ACE) the concept of which dated from 1945: the Pilot ACE. In his spare time, Strachey developed a preliminary version of a program for the game of draughts ("checkers" in American English) in May 1951. This may have been the first video game. The game completely exhausted the Pilot ACE's memory. The draughts program failed due to program errors when it first ran at NPL on 30 July 1951.[8] When Strachey heard about the Manchester Mark 1, which had a much bigger memory, he asked his former fellow-student Alan Turing for the manual and transcribed his program into the operation codes of that machine by around October 1951. By the summer of 1952, the program could "play a complete game of Draughts at a reasonable speed".[9][10] While he did not give this game a name, Noah Wardrip-Fruin named it "M. U. C. Draughts."[11]
Strachey programmed the first Computer music in England – the earliest recording of music played by a computer: a rendition of the British National Anthem "God Save the King" on the University of Manchester's Ferranti Mark 1 computer, in 1951. Later that year, short extracts of three pieces were recorded there by a BBC outside broadcasting unit: "God Save the King", "Baa, Baa, Black Sheep", and "In the Mood". Researchers at the University of Canterbury, Christchurch restored the acetate master disc in 2016 and the results may be heard on SoundCloud.[12][13]
During the summer of 1952, Strachey programmed a love letter generator for the Ferranti Mark 1 that is known as the first example of computer-generated literature.[14]
In May 1952, Strachey gave a two-part talk on "the study of control in animals and machines" ("cybernetics") for the BBC Home Service's Science Survey programme.[15][16]
Strachey worked for the National Research Development Corporation (NRDC) from 1952 to 1959. While working on the St. Lawrence Seaway project, he was able to visit several computer centres in the United States and catalogue their instruction sets. Later, he worked on programming both the Elliott 401 computer and the Ferranti Pegasus computer. Together with Donald B. Gillies, he filed three patents in computing design including the design of base registers for program relocation. He also worked on the analysis of vibration in aircraft, working briefly with Roger Penrose.
In 1959, Strachey left NRDC to become a computer consultant working for NRDC, EMI, Ferranti and other organisations on several wide-ranging projects. This work included logical design for computers, providing autocode and later the design of high-level programming languages. For a contract to produce the autocode for the Ferranti Orion computer, Strachey hired Peter Landin who became his one assistant for the duration of Strachey's consulting period.
Strachey developed the concept of time-sharing in 1959.[17][18] He filed a patent application in February that year and gave a paper "Time Sharing in Large Fast Computers" at the inaugural UNESCO Information Processing Conference in Paris where he passed the concept on to J. C. R. Licklider.[19][20] This paper is credited by the MIT Computation Center in 1963 as "the first paper on time-shared computers".[4]
In 1962, while remaining a consultant, he accepted a position at the University of Cambridge.
In 1965, Strachey accepted a position at the University of Oxford as the first director of the Programming Research Group and later the university's first professor of computer science and fellow of Wolfson College, Oxford. He collaborated with Dana Scott.
Strachey was elected as a distinguished fellow of the British Computer Society in 1971 for his pioneering work in computer science.
In 1973, Strachey (along with Robert Milne) began to write an essay submitted to the Adams Prize competition, after which they continued work to revising it into book form. Strachey can be seen and heard in the recorded Lighthill debate on AI[21] (see Lighthill report).
He developed the Combined Programming Language (CPL). His influential set of lecture notes Fundamental Concepts in Programming Languages formalised the distinction between L- and R- values (as seen in the C programming language). Strachey also coined the term currying,[citation needed] although he did not invent the underlying concept.
He was instrumental in the design of the Ferranti Pegasus computer.
The macro language m4 derives much from Strachey's GPM (General Purpose Macrogenerator), one of the earliest macro expansion languages.[22]
Strachey contracted an illness diagnosed as jaundice which, after a period of seeming recovery, returned and he died of infectious hepatitis on 18 May 1975.[23] After his death, Strachey was succeeded by Sir Tony Hoare as Head of the Programming Research Group at Oxford, starting in 1977.
Legacy[edit]
The Department of Computer Science at the University of Oxford has a Christopher Strachey Professorship of Computing,[24][25] which has been held by the following:
- Sir Tony Hoare FRS (1988–2000)[24]
- Samson Abramsky FRS (2000–2021)[26]
- Nobuko Yoshida (2022 onwards)[27]
In November 2016, a Strachey 100 event was held at Oxford University to celebrate the centenary of Strachey's birth,[28] including a viewing at the Weston Library in Oxford of the Christopher Strachey archive held in the Bodleian Library collection.[29]
Publications[edit]
- Strachey, Christopher (1952). "Logical or Non-Mathematical Programmes". Proceedings of the 1952 ACM national meeting. Toronto: ACM. pp. 46–49. doi:10.1145/800259.808992.
- Strachey, Christopher (1954). "The "Thinking" Machine". Encounter. pp. 25–31.
- Strachey, Christopher (1959). "Programme-Controlled Time Sharing". Proceedings of the IEE – Part B: Electronic and Communication Engineering. 106 (29): 462. doi:10.1049/pi-b-2.1959.0311.
- Strachey, Christopher (1959). "On Taking the Square Root of a Complex Number". The Computer Journal. 2 (2): 89. doi:10.1093/comjnl/2.2.89.
- Strachey, Christopher (1959). "Time Sharing in Large, Fast Computers". Proceedings of the 1st International Conference on Information Processing. Paris: UNESCO. pp. 336–341.
- Strachey, Christopher (1960). "Two Contributions to the Techniques of Queuing Problems". The Computer Journal. 3 (2): 114–116. doi:10.1093/comjnl/3.2.114.
- Strachey, Christopher (1961). "Bitwise Operations". Communications of the ACM. 4 (3): 146. doi:10.1145/366199.366254. S2CID 7359297.
- Strachey, Christopher; Wilkes, Maurice (1961). "Some Proposals for Improving the Efficiency of ALGOL 60". Communications of the ACM. 4 (11): 488–491. doi:10.1145/366813.366816. S2CID 8757176.
- Strachey, Christopher; Francis, John (1961). "The Reduction of a Matrix to Codiagonal Form by Eliminations". The Computer Journal. 4 (2): 168–176. doi:10.1093/comjnl/4.2.168.
- Strachey, Christopher (1962). "Book Reviews". The Computer Journal. 5 (2): 152–153. doi:10.1093/comjnl/5.2.152.
- Barron, David; Buxton, John; Hartley, David; Nixon, Eric; Strachey, Christopher (1963). "The Main Features of CPL". The Computer Journal. 6 (2): 134–143. doi:10.1093/comjnl/6.2.134.
- Strachey, Christopher (1965). "An Impossible Program". The Computer Journal. 7 (4): 313. doi:10.1093/comjnl/7.4.313.
- Strachey, Christopher (1965). "A General Purpose Macrogenerator". The Computer Journal. 8 (3): 225–241. doi:10.1093/comjnl/8.3.225.
- Strachey, Christopher (1966). "System Analysis and Programming". Scientific American. Vol. 215, no. 3. pp. 112–127.
- Strachey, Christopher (1966). "Towards a Formal Semantics". Proceedings of the IFIP Working Conference on Formal Language Description Languages. Amsterdam: North Holland. pp. 198–220.
- Strachey, Christopher (1967). Fundamental Concepts in Programming Languages (Technical report). Lecture notes for the International Summer School in Computer Programming at Copenhagen. Also: Strachey, Christopher (2000). "Fundamental Concepts in Programming Languages". Higher-Order and Symbolic Computation. 13 (1–2): 11–49. doi:10.1023/A:1010000313106. S2CID 14124601.
- Scott, Dana; Strachey, Christopher (1971). Toward a Mathematical Semantics for Computer Languages (Technical report). Oxford University Computing Laboratory, Programming Research Group. PRG06. Also: Scott, Dana; Strachey, Christopher (1971). "Toward a Mathematical Semantics for Computer Languages". Proceedings of the Symposium on Computers and Automata. New York: Polytechnic Institute of Brooklyn. pp. 19–46.
- Strachey, Christopher (1972). "Varieties of Programming Language". Proceedings of the International Computing Symposium. Venice: Cini Foundation. pp. 222–233. Also: Strachey, Christopher (1973). The Varieties of Programming Language (Technical report). Oxford University Computing Laboratory, Programming Research Group. PRG10.
- Stoy, Joseph; Strachey, Christopher (1972). "OS6—An Experimental Operating System for a Small Computer. Part 1: General Principles and Structure". The Computer Journal. 15 (2): 117–124. doi:10.1093/comjnl/15.2.117.
- Stoy, Joseph; Strachey, Christopher (1972). "OS6—An Experimental Operating System for a Small Computer. Part 2: Input/Output and Filing System". The Computer Journal. 15 (3): 195–203. doi:10.1093/comjnl/15.3.195.
- Strachey, Christopher; Stoy, Joseph (1972). The Text of OSPub (Technical report). Oxford University Computing Laboratory, Programming Research Group. PRG09.
- Strachey, Christopher; Wadsworth, Christopher (1974). Continuations: A Mathematical Semantics for Handling Full Jumps (Technical report). Oxford University Computing Laboratory, Programming Research Group. PRG11. Also: Strachey, Christopher; Wadsworth, Christopher (2000). "Continuations: A Mathematical Semantics for Handling Full Jumps". Higher-Order and Symbolic Computation. 13 (1–2): 135–152. doi:10.1023/A:1010026413531. S2CID 10673265.
- Milne, Robert; Strachey, Christopher (1976). A Theory of Programming Language Semantics. New York: Springer. ISBN 978-1-5041-2833-9.
References[edit]
- ^ Christopher Strachey: British computer scientist, Encyclopædia Britannica.
- ^ Catalogue of the papers and correspondence of Christopher Strachey (1916–1975), The National Archives, United Kingdom.
- ^ Gordon, M.J.C., Christopher Strachey: Recollections of His Influence, Higher-Order and Symbolic Computation, 13(1–2):65–67, April 2000. ISSN 1388-3690. (PostScript version Archived 13 March 2017 at the Wayback Machine.)
- ^ Jump up to: a b F. J. Corbató, et al., The Compatible Time-Sharing System A Programmer's Guide (MIT Press, 1963) ISBN 978-0-262-03008-3. "the first paper on time-shared computers by C. Strachey at the June 1959 UNESCO Information Processing conference"
- ^ Brown, Stuart (4 October 2019). "The First Video Game". YouTube. Archived from the original on 4 October 2019. Retrieved 19 January 2022.
- ^ Strachey, Christopher (1967). Fundamental Concepts in Programming Languages (Technical report). Lecture notes for the International Summer School in Computer Programming at Copenhagen.
- ^ Campbell-Kelly, M. (January 1985). "Christopher Strachey, 1916–1975: A Biographical Note". IEEE Annals of the History of Computing. 7 (1): 21. doi:10.1109/mahc.1985.10001. S2CID 17188378.
- ^ "The Priesthood at Play: Computer Games in the 1950s". They Create Worlds. 22 January 2014. Retrieved 28 August 2017.
- ^ "What is Artificial Intelligence". AlanTuring.net. May 2000. Retrieved 28 August 2017.
- ^ Strachey, C. S. (September 1952). Logical or non-mathematical programmes. ACM '52: Proceedings of the 1952 ACM National Meeting (Toronto). p. 47. doi:10.1145/800259.808992.
- ^ Wardrip-Fruin, Noah (December 2020). How Pac-Man Eats (1 ed.). Cambridge, MA: The MIT Press. p. 121. ISBN 9780262044653.
- ^ "First recording of computer-generated music – created by Alan Turing – restored". The Guardian. 26 September 2016. Retrieved 28 August 2017.
- ^ "Restoring the first recording of computer music – Sound and vision blog". British Library. 13 September 2016. Retrieved 28 August 2017.
- ^ Rettberg, Jill Walker (3 October 2021). "Speculative Interfaces: How Electronic Literature Uses the Interface to Make Us Think about Technology". Electronic Book Review. doi:10.7273/1XSG-NV26.
- ^ "Science Survey – BBC Home Service Basic – 1 May 1952 – BBC Genome". BBC. May 1952. Retrieved 28 August 2017.
- ^ "Science Survey – BBC Home Service Basic – 8 May 1952 – BBC Genome". BBC. 8 May 1952. Retrieved 28 August 2017.
- ^ "Computer Pioneers – Christopher Strachey". history.computer.org. Retrieved 23 January 2020.
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.
- ^ "Computer – Time-sharing and minicomputers". Encyclopedia Britannica. Retrieved 23 January 2020.
In 1959 Christopher Strachey in the United Kingdom and John McCarthy in the United States independently described something they called time-sharing.
- ^ Gillies, James M.; Gillies, James; Gillies, James and Cailliau Robert; Cailliau, R. (2000). How the Web was Born: The Story of the World Wide Web. Oxford University Press. pp. 13. ISBN 978-0-19-286207-5.
- ^ "Reminiscences on the Theory of Time-Sharing". jmc.stanford.edu. Retrieved 23 January 2020.
in 1960 'time-sharing' as a phrase was much in the air. It was, however, generally used in my sense rather than in John McCarthy's sense of a CTSS-like object.
- ^ bilkable (12 September 2010), The Lighthill Debate (1973) – part 6 of 6, retrieved 27 October 2017
- ^ C. Strachey: "A General Purpose Macrogenerator", The Computer Journal, 8(3):225–241, 1965.
- ^ "Computer Pioneers – Christopher Strachey".
- ^ Jump up to: a b "Christopher Strachey Professorship of Computing". Department of Computer Science, University of Oxford. 5 November 2021. Retrieved 18 January 2024.
- ^ "Christopher Strachey Professor of Computing". University of Oxford. 28 October 2021. Retrieved 18 January 2024.
- ^ "Samson Abramsky". UK: Department of Computer Science, University of Oxford. Retrieved 18 January 2017.
- ^ "Welcome to our new Strachey Chair, Professor Nobuko Yoshida". Department of Computer Science, University of Oxford. 29 June 2022. Retrieved 18 January 2024.
- ^ "Strachey 100: Celebrating the life and research of Christopher Strachey". UK: Department of Computer Science, University of Oxford. 2016. Retrieved 18 January 2017.
- ^ Bowen, Jonathan P. (2016). "Strachey 100 Centenary Conference: Photographs of Strachey 100" (PDF). FACS FACTS. 2. UK: BCS-FACS: 44–52. Retrieved 18 January 2017. (Also here.)
Further reading[edit]
- Barron, David (Summer 2008). "Pioneer Profiles – Christopher Strachey". Resurrection (43). Computer Conservation Society. ISSN 0958-7403.
- Copeland, Jack (June 2000). "A Brief History of Computing". AlanTuring.net.
- Danvy, Olivier; Talcott, Carolyn, eds. (April 2000). "Special Issue in memory of Christopher Strachey". Higher-Order and Symbolic Computation. 13 (1/2).
- Lavington, S. (2000). The Pegasus Story. Science Museum. ISBN 1-900747-40-5.
External links[edit]
- Christopher Strachey at DBLP Bibliography Server
- Christopher Strachey (1916–1975) at the Wayback Machine (archived 26 September 2007) at the Virtual Museum of Computing
- A simulator of the Manchester Mark 1, executing Christopher Strachey's Love letter algorithm from 1952
- A web-based version of Christopher Strachey's Love letter algorithm showing word lists
- Supplementary Strachey Papers held at the British Library
- 1916 births
- 1975 deaths
- People from Hampstead
- People educated at Gresham's School
- Alumni of King's College, Cambridge
- English computer scientists
- History of computing in the United Kingdom
- Members of the Department of Computer Science, University of Oxford
- Fellows of Wolfson College, Oxford
- Programming language researchers
- Programming language designers
- British computer programmers
- Schoolteachers from London
- Formal methods people
- Fellows of the British Computer Society
- Strachey family
- British LGBT scientists
- British LGBT academics
- Deaths from hepatitis
- LGBT mathematicians
- 20th-century English LGBT people
- Schoolteachers from Kent