Christopher Strachey

Date

Christopher S. Strachey ( / ˈ s t r eɪ tʃ i / STRAY -chee ; 16 November 1916 – 18 May 1975) was a British computer scientist. He was one of the first people to design programming languages and helped create a system called denotational semantics.

Christopher S. Strachey ( / ˈ s t r eɪ tʃ i / STRAY -chee ; 16 November 1916 – 18 May 1975) was a British computer scientist. He was one of the first people to design programming languages and helped create a system called denotational semantics. He also worked on computer time-sharing, a method that allows multiple users to share a computer at the same time. Strachey is believed to have developed the first video game and created terms like polymorphism and referential transparency, which are still used by programmers today. He was part of the Strachey family, which has been well-known in government, the arts, administration, and schools.

Early life and education

Christopher S. Strachey was born on November 16, 1916, in Hampstead, England, to Oliver Strachey and Rachel (Ray) Costelloe. Oliver Strachey was the son of Richard Strachey and the great-grandson of Sir Henry Strachey, 1st Baronet. His older sister was Barbara Strachey, a writer. In 1919, the family moved to 51 Gordon Square. The Stracheys were members of the Bloomsbury Group, a circle of artists, writers, and thinkers that included Virginia Woolf, John Maynard Keynes, and Strachey's uncle, Lytton Strachey. At age 13, Strachey attended Gresham's School in Holt, where he showed signs of intelligence but generally struggled academically. He was admitted to King's College, Cambridge (the same college as Alan Turing) in 1935, where he continued to focus less on his studies. Strachey studied mathematics before switching to physics. After his third year at Cambridge, Strachey experienced a mental health crisis, possibly linked to dealing with his identity as a homosexual. He returned to Cambridge but earned a "lower second" classification in the Natural Sciences Tripos.

Career

Christopher Strachey could not continue his education. He joined Standard Telephones and Cables (STC) as a research physicist. His first job was to help design electron tubes used in radar by doing mathematical analysis. The calculations were very complex and required a machine called a differential analyser. This experience with a computing machine interested him, and he began studying the topic. He applied for a research degree at the University of Cambridge but was not accepted. He continued working at STC during the Second World War. After the war, he became a schoolmaster at St Edmund's School, Canterbury, teaching mathematics and physics. Three years later, he moved to 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 built a smaller version of Alan Turing's Automatic Computing Engine (ACE), called the Pilot ACE, which was designed in 1945. In his spare time, Strachey created a checkers video game in May 1951. This may have been the first video game. The game used all the memory of the Pilot ACE. When the program first ran at NPL on 30 July 1951, it had errors and failed. Strachey learned about the Manchester Mark 1, which had more memory, and asked his former classmate Alan Turing for the manual. He rewrote his program for that machine by October 1951. By summer 1952, the program could play a complete game of Draughts at a reasonable speed. This game was later named "M. U. C. Draughts" by Noah Wardrip-Fruin.

Strachey programmed the first computer music in England. He created a recording 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 parts of three songs were recorded by the BBC: "God Save the King," "Baa, Baa, Black Sheep," and "In the Mood." Researchers at the University of Canterbury, Christchurch, restored the original recording in 2016, and it can now be heard on SoundCloud.

In the summer of 1952, Strachey programmed a love letter generator for the Ferranti Mark 1. This is considered the first example of computer-generated literature.

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.

From 1952 to 1959, Strachey worked for the National Research Development Corporation (NRDC). While working on the St. Lawrence Seaway project, he visited several computer centres in the United States and studied their instruction sets. Later, he worked on programming the Elliott 401 and Ferranti Pegasus computers. With Donald B. Gillies, he filed three patents in computing design, including the design of base registers for program relocation. He also studied vibration in aircraft, working briefly with Roger Penrose.

In 1959, Strachey left NRDC to become a computer consultant for NRDC, EMI, Ferranti, and other organisations. His work included designing computer logic, creating autocode, and later developing high-level programming languages. For a contract to create autocode for the Ferranti Orion computer, Strachey hired Peter Landin, who worked with him for the rest of his consulting period.

Strachey developed the idea of time-sharing in 1959. He filed a patent application that year and presented a paper titled "Time Sharing in Large Fast Computers" at the first UNESCO Information Processing Conference in Paris. He shared this idea with J. C. R. Licklider. This paper is credited by the MIT Computation Center in 1963 as "the first paper on time-shared computers."

In 1962, Strachey remained a consultant while accepting a position at the University of Cambridge.

In 1965, Strachey became the first director of the Programming Research Group at the University of Oxford. He later became the university's first professor of computer science and a fellow of Wolfson College, Oxford. He worked with Dana Scott.

In 1971, Strachey was elected a distinguished fellow of the British Computer Society for his pioneering work in computer science.

In 1973, Strachey (with Robert Milne) began writing an essay for the Adams Prize competition. They later revised it into a book. Strachey is seen and heard in a recorded debate on AI, known as the Lighthill debate.

Strachey developed the Combined Programming Language (CPL). His lecture notes, Fundamental Concepts in Programming Languages, explained the difference between L- and R-values, which appear in the C programming language. He also introduced the term "currying," though he did not create the concept itself.

He played a key role in designing the Ferranti Pegasus computer. The macro language m4 was influenced by Strachey's GPM (General Purpose Macrogenerator), one of the earliest macro expansion languages.

Strachey became very ill with jaundice. After a period of recovery, his illness returned, and he died of infectious hepatitis on 18 May 1975. After his death, Sir Tony Hoare became the Head of the Programming Research Group at Oxford in 1977.

Legacy

The Department of Computer Science at the University of Oxford holds a Christopher Strachey Professorship of Computing, which has been held by these individuals:

  • Sir Tony Hoare FRS (from 1988 to 2000)
  • Samson Abramsky FRS (from 2000 to 2021)
  • Nobuko Yoshida (from 2022 to the present)

In November 2016, an event called Strachey 100 was held at Oxford University to mark the 100th birthday of Christopher Strachey. The event included a display at the Weston Library in Oxford of the Christopher Strachey archive, which is stored in the Bodleian Library collection.

Publications

  • Strachey, Christopher (1952). "Logical or Non-Mathematical Programmes." Published in the Proceedings of the 1952 ACM National Meeting. Toronto: ACM. Pages 46 to 49. DOI: 10.1145/800259.808992.
  • Strachey, Christopher (1954). "The 'Thinking' Machine." Published in Encounter. Pages 25 to 31.
  • Strachey, Christopher (1959). "Programme-Controlled Time Sharing." Published in Proceedings of the IEE – Part B: Electronic and Communication Engineering. Volume 106, Issue 29, page 462. DOI: 10.1049/pi-b-2.1959.0311.
  • Strachey, Christopher (1959). "On Taking the Square Root of a Complex Number." Published in The Computer Journal. Volume 2, Issue 2, page 89. DOI: 10.1093/comjnl/2.2.89.
  • Strachey, Christopher (1959). "Time Sharing in Large, Fast Computers." Published in Proceedings of the 1st International Conference on Information Processing. Paris: UNESCO. Pages 336 to 341.
  • Strachey, Christopher (1960). "Two Contributions to the Techniques of Queuing Problems." Published in The Computer Journal. Volume 3, Issue 2, pages 114 to 116. DOI: 10.1093/comjnl/3.2.114.
  • Strachey, Christopher (1961). "Bitwise Operations." Published in Communications of the ACM. Volume 4, Issue 3, page 146. DOI: 10.1145/366199.366254. S2CID 7359297.
  • Strachey, Christopher; Wilkes, Maurice (1961). "Some Proposals for Improving the Efficiency of ALGOL 60." Published in Communications of the ACM. Volume 4, Issue 11, pages 488 to 491. DOI: 10.1145/366813.366816. S2CID 8757176.
  • Strachey, Christopher; Francis, John (1961). "The Reduction of a Matrix to Codiagonal Form by Eliminations." Published in The Computer Journal. Volume 4, Issue 2, pages 168 to 176. DOI: 10.1093/comjnl/4.2.168.
  • Strachey, Christopher (1962). "Book Reviews." Published in The Computer Journal. Volume 5, Issue 2, pages 152 to 153. DOI: 10.1093/comjnl/5.2.152.
  • Barron, David; Buxton, John; Hartley, David; Nixon, Eric; Strachey, Christopher (1963). "The Main Features of CPL." Published in The Computer Journal. Volume 6, Issue 2, pages 134 to 143. DOI: 10.1093/comjnl/6.2.134.
  • Strachey, Christopher (1965). "An Impossible Program." Published in The Computer Journal. Volume 7, Issue 4, page 313. DOI: 10.1093/comjnl/7.4.313.
  • Strachey, Christopher (1965). "A General Purpose Macrogenerator." Published in The Computer Journal. Volume 8, Issue 3, pages 225 to 241. DOI: 10.1093/comjnl/8.3.225.
  • Strachey, Christopher (1966). "System Analysis and Programming." Published in Scientific American. Volume 215, Issue 3, pages 112 to 127.
  • Strachey, Christopher (1966). "Towards a Formal Semantics." Published in Proceedings of the IFIP Working Conference on Formal Language Description Languages. Amsterdam: North Holland. Pages 198 to 220.
  • Strachey, Christopher (1967). Fundamental Concepts in Programming Languages (Technical report). Lecture notes for the International Summer School in Computer Programming at Copenhagen. Also published in Higher-Order and Symbolic Computation (2000). Volume 13, Issues 1–2, pages 11 to 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 published in Proceedings of the Symposium on Computers and Automata (1971). New York: Polytechnic Institute of

More
articles