Christopher S. Strachey ( / ˈs t r eɪ tʃ i / ; 16 de noviembre de 1916 - 18 de mayo de 1975) fue un informático británico . [ 1] [2] [3] Fue uno de los fundadores de la semántica denotacional y un pionero en el diseño de lenguajes de programación y el tiempo compartido de computadoras . [4] También se le atribuye el mérito de ser posiblemente el primer desarrollador de un videojuego [5] y de acuñar términos como polimorfismo y transparencia referencial que todavía son ampliamente utilizados por los desarrolladores en la actualidad. [6] Fue miembro de la familia Strachey , prominente en el gobierno, las artes, la administración y la academia.
Incapaz de continuar su educación, Strachey se unió a Standard Telephones and Cables (STC) como físico investigador. Su primer trabajo fue proporcionar análisis matemático para el diseño de tubos de electrones utilizados en radares . La complejidad de los cálculos requería el uso de un analizador diferencial . Esta experiencia inicial con una máquina de computación despertó el interés de Strachey y comenzó a investigar el tema. Una solicitud para un título de investigación en la Universidad de Cambridge fue rechazada y Strachey continuó trabajando en STC durante la Segunda Guerra Mundial . Después de la guerra, cumplió una ambición de larga data al convertirse en maestro de escuela en la Escuela St Edmund's, Canterbury , enseñando matemáticas y física. Tres años más tarde pudo trasladarse a la más prestigiosa Escuela Harrow en 1949, donde permaneció durante tres años.
En enero de 1951, un amigo le presentó a Mike Woodger del Laboratorio Nacional de Física (NPL). El laboratorio había construido con éxito una versión reducida del Motor de Cálculo Automático (ACE) de Alan Turing, cuyo concepto databa de 1945: el Pilot ACE . En su tiempo libre, Strachey desarrolló una versión preliminar de un programa para el juego de damas ("checkers" en inglés americano) en mayo de 1951. Este puede haber sido el primer videojuego. El juego agotó por completo la memoria del Pilot ACE. El programa de damas falló debido a errores de programa cuando se ejecutó por primera vez en el NPL el 30 de julio de 1951. [8] Cuando Strachey se enteró del Manchester Mark 1 , que tenía una memoria mucho más grande, le pidió a su antiguo compañero de estudios Alan Turing el manual y transcribió su programa a los códigos de operación de esa máquina alrededor de octubre de 1951. Para el verano de 1952, el programa podía "jugar una partida completa de damas a una velocidad razonable". [9] [10] Aunque no le dio un nombre a este juego, Noah Wardrip-Fruin lo llamó "MUC Damas". [11]
Strachey programó la primera música por computadora en Inglaterra: la primera grabación de música reproducida por computadora: una interpretación del himno nacional británico " God Save the King " en la computadora Ferranti Mark 1 de la Universidad de Manchester , en 1951. Más tarde ese año, una unidad de transmisión externa de la BBC grabó allí extractos cortos de tres piezas : "God Save the King", " Baa, Baa, Black Sheep " y " In the Mood ". Los investigadores de la Universidad de Canterbury , Christchurch restauraron el disco maestro de acetato en 2016 y los resultados se pueden escuchar en SoundCloud . [12] [13]
En mayo de 1952, Strachey dio una charla de dos partes sobre "el estudio del control en animales y máquinas" (" cibernética ") para el programa Science Survey del BBC Home Service . [15] [16]
Strachey trabajó para la National Research Development Corporation (NRDC) de 1952 a 1959. Mientras trabajaba en el proyecto de la vía marítima del San Lorenzo, pudo visitar varios centros informáticos en los Estados Unidos y catalogar sus conjuntos de instrucciones . Más tarde, trabajó en la programación tanto de la computadora Elliott 401 como de la computadora Ferranti Pegasus . Junto con Donald B. Gillies , presentó tres patentes en diseño informático, incluido el diseño de registros base para la reubicación de programas. También trabajó en el análisis de vibraciones en aeronaves, trabajando brevemente con Roger Penrose .
En 1959, Strachey dejó NRDC para convertirse en consultor informático y trabajó para NRDC, EMI , Ferranti y otras organizaciones en varios proyectos de amplio alcance. Este trabajo incluía el diseño lógico de computadoras, la provisión de autocódigo y, más tarde, el diseño de lenguajes de programación de alto nivel . Para un contrato para producir el autocódigo para la computadora Ferranti Orion , Strachey contrató a Peter Landin , quien se convirtió en su único asistente durante el período de consultoría de Strachey.
Strachey fue elegido miembro distinguido de la British Computer Society en 1971 por su trabajo pionero en informática.
En 1973, Strachey (junto con Robert Milne) comenzó a escribir un ensayo que presentó al concurso del Premio Adams , tras lo cual continuaron trabajando para revisarlo y convertirlo en un libro. Se puede ver y escuchar a Strachey en el debate Lighthill grabado sobre IA [21] (véase el informe de Lighthill ).
Strachey contrajo una enfermedad diagnosticada como ictericia que, después de un período de aparente recuperación, regresó y murió de hepatitis infecciosa el 18 de mayo de 1975. [23] Después de su muerte, Strachey fue sucedido por Sir Tony Hoare como Jefe del Grupo de Investigación de Programación en Oxford, a partir de 1977.
En noviembre de 2016, se celebró un evento Strachey 100 en la Universidad de Oxford para celebrar el centenario del nacimiento de Strachey, [28] incluida una visita en la Biblioteca Weston en Oxford del archivo de Christopher Strachey que se encuentra en la colección de la Biblioteca Bodleian . [29]
Publicaciones
Strachey, Christopher (1952). "Programas lógicos o no matemáticos". Actas de la reunión nacional de la ACM de 1952. Toronto: ACM. págs. 46–49. doi :10.1145/800259.808992.
Strachey, Christopher (1954). "La máquina "pensante". Encuentro . págs. 25–31.
Strachey, Christopher (1959). "Tiempo compartido controlado por programa". Actas del IEE - Parte B: Ingeniería electrónica y de comunicaciones . 106 (29): 462. doi : 10.1049/pi-b-2.1959.0311 .
Strachey, Christopher (1959). "Sobre la toma de la raíz cuadrada de un número complejo". The Computer Journal . 2 (2): 89. doi : 10.1093/comjnl/2.2.89 .
Strachey, Christopher (1959). "Compartir el tiempo en ordenadores grandes y rápidos". Actas de la 1.ª Conferencia Internacional sobre Procesamiento de la Información . París: UNESCO . pp. 336–341.
Strachey, Christopher (1960). "Dos contribuciones a las técnicas de los problemas de colas". The Computer Journal . 3 (2): 114–116. doi : 10.1093/comjnl/3.2.114 .
Strachey, Christopher (1961). "Operaciones bit a bit". Comunicaciones de la ACM . 4 (3): 146. doi : 10.1145/366199.366254 . S2CID 7359297.
Strachey, Christopher; Wilkes, Maurice (1961). "Algunas propuestas para mejorar la eficiencia de ALGOL 60". Comunicaciones de la ACM . 4 (11): 488–491. doi : 10.1145/366813.366816 . S2CID 8757176.
Strachey, Christopher; Francis, John (1961). "La reducción de una matriz a la forma codiagonal por eliminaciones". The Computer Journal . 4 (2): 168–176. doi : 10.1093/comjnl/4.2.168 .
Strachey, Christopher (1962). "Reseñas de libros". 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). "Las características principales de CPL". The Computer Journal . 6 (2): 134–143. doi : 10.1093/comjnl/6.2.134 .
Strachey, Christopher (1965). "Un programa imposible". The Computer Journal . 7 (4): 313. doi : 10.1093/comjnl/7.4.313 .
Strachey, Christopher (1965). "Un macrogenerador de propósito general". The Computer Journal . 8 (3): 225–241. doi : 10.1093/comjnl/8.3.225 .
Strachey, Christopher (1966). "Análisis de sistemas y programación". Scientific American . Vol. 215, núm. 3. págs. 112–127.
Strachey, Christopher (1966). "Hacia una semántica formal". Actas de la Conferencia de trabajo de la IFIP sobre lenguajes de descripción de lenguajes formales . Ámsterdam: Holanda Septentrional. págs. 198–220.
Strachey, Christopher (1967). Conceptos fundamentales en lenguajes de programación (informe técnico). Apuntes de la Escuela Internacional de Verano de Programación de Computadoras en Copenhague.También: Strachey, Christopher (2000). "Conceptos fundamentales en lenguajes de programación". Computación simbólica y de orden superior . 13 (1–2): 11–49. doi :10.1023/A:1010000313106. S2CID 14124601.
Scott, Dana; Strachey, Christopher (1971). Toward a Mathematical Semantics for Computer Languages (Informe técnico). Laboratorio de Computación de la Universidad de Oxford, Grupo de Investigación en Programación. PRG06.También: Scott, Dana; Strachey, Christopher (1971). "Hacia una semántica matemática para lenguajes informáticos". Actas del Simposio sobre ordenadores y autómatas . Nueva York: Instituto Politécnico de Brooklyn . págs. 19–46.
Strachey, Christopher (1972). "Variedades de lenguajes de programación". Actas del Simposio Internacional de Computación . Venecia: Fundación Cini . pp. 222–233.También: Strachey, Christopher (1973). The Varieties of Programming Language (Informe técnico). Laboratorio de Computación de la Universidad de Oxford, Grupo de Investigación en Programación. PRG10.
Stoy, Joseph; Strachey, Christopher (1972). "OS6: un sistema operativo experimental para una computadora pequeña. Parte 1: Principios generales y estructura". The Computer Journal . 15 (2): 117–124. doi : 10.1093/comjnl/15.2.117 .
Stoy, Joseph; Strachey, Christopher (1972). "OS6: un sistema operativo experimental para una computadora pequeña. Parte 2: Entrada/Salida y sistema de archivos". The Computer Journal . 15 (3): 195–203. doi : 10.1093/comjnl/15.3.195 .
Strachey, Christopher; Stoy, Joseph (1972). El texto de OSPub (informe técnico). Laboratorio de Computación de la Universidad de Oxford, Grupo de Investigación en Programación. PRG09.
Strachey, Christopher; Wadsworth, Christopher (1974). Continuaciones: una semántica matemática para el manejo de saltos completos (informe técnico). Laboratorio de Computación de la Universidad de Oxford, Grupo de Investigación en Programación. PRG11.También: Strachey, Christopher; Wadsworth, Christopher (2000). "Continuaciones: una semántica matemática para manejar saltos completos". Computación simbólica y de orden superior . 13 (1–2): 135–152. doi :10.1023/A:1010026413531. S2CID 10673265.
Milne, Robert; Strachey, Christopher (1976). Una teoría de la semántica de los lenguajes de programación. Nueva York: Springer. ISBN 978-1-5041-2833-9.
^ ab FJ Corbató, et al., The Compatible Time-Sharing System A Programmer's Guide (MIT Press, 1963) ISBN 978-0-262-03008-3 . "el primer artículo sobre ordenadores de tiempo compartido de C. Strachey en la conferencia de Procesamiento de la Información de la UNESCO de junio de 1959"
^ Brown, Stuart (4 de octubre de 2019). «El primer videojuego». YouTube . Archivado desde el original el 4 de octubre de 2019 . Consultado el 19 de enero de 2022 .
^ Strachey, Christopher (1967). Conceptos fundamentales en lenguajes de programación (informe técnico). Apuntes de la Escuela Internacional de Verano de Programación de Computadoras en Copenhague.
^ Campbell-Kelly, M. (enero de 1985). "Christopher Strachey, 1916–1975: una nota biográfica". IEEE Annals of the History of Computing . 7 (1): 21. doi :10.1109/mahc.1985.10001. S2CID 17188378.
^ "El sacerdocio en juego: los videojuegos en la década de 1950". They Create Worlds . 22 de enero de 2014. Consultado el 28 de agosto de 2017 .
^ "¿Qué es la inteligencia artificial?". AlanTuring.net . Mayo de 2000. Consultado el 28 de agosto de 2017 .
^ Strachey, CS (septiembre de 1952). Programas lógicos o no matemáticos. ACM '52: Actas de la Reunión Nacional ACM de 1952 (Toronto). pág. 47. doi :10.1145/800259.808992.
^ Wardrip-Fruin, Noah (diciembre de 2020). How Pac-Man Eats (1.ª edición). Cambridge, MA: The MIT Press. pág. 121. ISBN9780262044653.
^ "Se restauró la primera grabación de música generada por computadora, creada por Alan Turing". The Guardian . 26 de septiembre de 2016 . Consultado el 28 de agosto de 2017 .
^ "Restaurando la primera grabación de música por ordenador – Blog de sonido y visión". Biblioteca Británica . 13 de septiembre de 2016 . Consultado el 28 de agosto de 2017 .
^ Rettberg, Jill Walker (3 de octubre de 2021). «Interfaces especulativas: cómo la literatura electrónica utiliza la interfaz para hacernos pensar en la tecnología». Electronic Book Review . doi :10.7273/1XSG-NV26.
^ "Science Survey – BBC Home Service Basic – 1 de mayo de 1952 – BBC Genome". BBC. Mayo de 1952. Consultado el 28 de agosto de 2017 .
^ "Science Survey – BBC Home Service Basic – 8 de mayo de 1952 – BBC Genome". BBC. 8 de mayo de 1952. Consultado el 28 de agosto de 2017 .
^ "Computer Pioneers – Christopher Strachey". history.computer.org . Consultado el 23 de enero de 2020 . Lo que Strachey propuso en su concepto de tiempo compartido fue un acuerdo que preservaría el contacto directo entre el programador y la máquina, al tiempo que lograría la economía de la multiprogramación.
^ "Computadoras: tiempo compartido y minicomputadoras". Enciclopedia Británica . Consultado el 23 de enero de 2020. En 1959, Christopher Strachey en el Reino Unido y John McCarthy en los Estados Unidos describieron de forma independiente algo que llamaron tiempo compartido.
^ Gillies, James M.; Gillies, James; Gillies, James y Cailliau Robert; Cailliau, R. (2000). Cómo nació la Web: La historia de la World Wide Web . Oxford University Press. pp. 13. ISBN978-0-19-286207-5.
^ "Reminiscencias sobre la teoría del tiempo compartido". jmc.stanford.edu . Consultado el 23 de enero de 2020 . En 1960, la expresión "tiempo compartido" estaba muy presente. Sin embargo, generalmente se usaba en mi sentido y no en el sentido de John McCarthy de un objeto similar al CTSS.
^ bilkable (12 de septiembre de 2010), El debate de Lighthill (1973) – parte 6 de 6 , consultado el 27 de octubre de 2017
^ C. Strachey: "Un macrogenerador de propósito general", The Computer Journal , 8 (3):225–241, 1965.
^ "Pioneros de la informática – Christopher Strachey".
^ Bowen, Jonathan P. (2016). "Conferencia del centenario de Strachey 100: fotografías de Strachey 100" (PDF) . FACS FACTS . 2. Reino Unido: BCS-FACS : 44–52 . Consultado el 18 de enero de 2017 .(También aquí.)
Lectura adicional
Barron, David (verano de 2008). "Perfiles de pioneros: Christopher Strachey". Resurrección (43). Computer Conservation Society . ISSN 0958-7403.
Copeland, Jack (junio de 2000). "Una breve historia de la informática". AlanTuring.net .
Danvy, Olivier; Talcott, Carolyn, eds. (abril de 2000). "Número especial en memoria de Christopher Strachey". Higher-Order and Symbolic Computation . 13 (1/2).