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] Era miembro de la familia Strachey , prominente en el gobierno, las artes, la administración y el mundo académico.
Al no poder continuar su educación, Christopher se unió a Standard Telephones and Cables (STC) como físico investigador. Su primer trabajo fue realizar análisis matemáticos para el diseño de tubos de electrones utilizados en radares . La complejidad de los cálculos requirió el uso de un analizador diferencial . Esta experiencia inicial con una computadora despertó el interés de Strachey y comenzó a investigar el tema. Una solicitud para obtener 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 School, Canterbury , enseñando matemáticas y física. Tres años más tarde pudo trasladarse a la más prestigiosa Harrow School 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 computación automática (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 ("damas" en inglés americano) en mayo de 1951. Este pudo haber sido el primer videojuego. El juego agotó por completo la memoria del Pilot ACE. El programa de borradores falló debido a errores de programa cuando se ejecutó por primera vez en la NPL el 30 de julio de 1951. [8] Cuando Strachey se enteró del Manchester Mark 1 , que tenía una memoria mucho mayor, le pidió el manual a su antiguo compañero de estudios Alan Turing. y transcribió su programa en 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 un juego completo de Damas a una velocidad razonable". [9] [10] Si bien no le dio un nombre a este juego, Noah Wardrip-Fruin lo llamó "MUC Drafts". [11]
Strachey programó la primera música por computadora en Inglaterra: la primera grabación de música reproducida por una 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, corto Una unidad de radiodifusión externa de la BBC grabó allí extractos de tres piezas : "God Save the King", " Baa, Baa, Black Sheep " e " In the Mood ". 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 de la BBC Home Service . [15] [16]
Strachey trabajó para la Corporación Nacional de Desarrollo de Investigación (NRDC) de 1952 a 1959. Mientras trabajaba en el proyecto St. Lawrence Seaway, pudo visitar varios centros de computación en los Estados Unidos y catalogar sus conjuntos de instrucciones . Posteriormente, 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 aviones, 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 incluyó el diseño lógico para computadoras, proporcionando autocodificación y posteriormente el diseño de lenguajes de programación de alto nivel . Para obtener un contrato para producir el código automático de 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.
En 1973, Strachey (junto con Robert Milne) comenzaron a escribir un ensayo presentado al concurso del Premio Adams , después de lo cual continuaron trabajando para revisarlo y convertirlo en libro. Se puede ver y escuchar a Strachey en el debate grabado de Lighthill sobre la IA [21] (consulte el informe 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, Sir Tony Hoare sucedió a Strachey como jefe del Grupo de Investigación de Programación en Oxford, a partir de 1977.
En noviembre de 2016, se llevó a cabo un evento Strachey 100 en la Universidad de Oxford para celebrar el centenario del nacimiento de Strachey, [28] que incluyó 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 ". Encontrar . págs. 25-31.
Strachey, Christopher (1959). "Tiempo compartido controlado por programa". Actas de la 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 cómo sacar la raíz cuadrada de un número complejo". La revista informática . 2 (2): 89. doi : 10.1093/comjnl/2.2.89 .
Strachey, Christopher (1959). "Tiempo compartido en computadoras grandes y rápidas". Actas de la 1ª Conferencia Internacional sobre Procesamiento de Información . París: UNESCO . págs. 336–341.
Strachey, Christopher (1960). "Dos contribuciones a las técnicas de problemas de colas". La revista informática . 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, Mauricio (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; Francisco, Juan (1961). "La reducción de una matriz a forma codiagonal mediante eliminaciones". La revista informática . 4 (2): 168-176. doi : 10.1093/comjnl/4.2.168 .
Strachey, Christopher (1962). "Reseñas de libros". La revista informática . 5 (2): 152-153. doi : 10.1093/comjnl/5.2.152 .
Barrón, David; Buxton, Juan; Hartley, David; Nixon, Eric; Strachey, Christopher (1963). "Las características principales de CPL". La revista informática . 6 (2): 134-143. doi : 10.1093/comjnl/6.2.134 .
Strachey, Christopher (1965). "Un programa imposible". La revista informática . 7 (4): 313. doi : 10.1093/comjnl/7.4.313 .
Strachey, Christopher (1965). "Un macrogenerador de uso general". La revista informática . 8 (3): 225–241. doi : 10.1093/comjnl/8.3.225 .
Strachey, Christopher (1966). "Análisis y Programación de Sistemas". Científico americano . vol. 215, núm. 3. págs. 112-127.
Strachey, Christopher (1966). "Hacia una semántica formal". Actas de la conferencia de trabajo del IFIP sobre lenguajes de descripción de lenguajes formales . Ámsterdam: Holanda del Norte. págs. 198-220.
Strachey, Christopher (1967). Conceptos fundamentales en lenguajes de programación (Reporte técnico). Apuntes de conferencias para la Escuela Internacional de Verano sobre Programación Informática 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). Hacia una semántica matemática para lenguajes informáticos (Reporte 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 los lenguajes informáticos". Actas del Simposio sobre Computadoras 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 . págs. 222-233.También: Strachey, Christopher (1973). Las variedades de lenguajes de programación (Informe técnico). Laboratorio de Computación de la Universidad de Oxford, Grupo de Investigación en Programación. PRG10.
Stoy, José; Strachey, Christopher (1972). "OS6: un sistema operativo experimental para una computadora pequeña. Parte 1: estructura y principios generales". La revista informática . 15 (2): 117–124. doi : 10.1093/comjnl/15.2.117 .
Stoy, José; Strachey, Christopher (1972). "OS6: un sistema operativo experimental para una computadora pequeña. Parte 2: sistema de archivo y entrada/salida". La revista informática . 15 (3): 195–203. doi : 10.1093/comjnl/15.3.195 .
Strachey, Christopher; Stoy, José (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 manejar 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 del lenguaje de programación. Nueva York: Springer. ISBN 978-1-5041-2833-9.
^ ab FJ Corbató, et al., El sistema de tiempo compartido compatible: una guía para programadores (MIT Press, 1963) ISBN 978-0-262-03008-3 . "el primer artículo sobre computadoras de tiempo compartido escrito por C. Strachey en la conferencia de procesamiento de 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 (Reporte técnico). Apuntes de conferencias para la Escuela Internacional de Verano sobre Programación Informática en Copenhague.
^ Campbell-Kelly, M. (enero de 1985). "Christopher Strachey, 1916-1975: una nota biográfica". Anales IEEE de la historia de la informática . 7 (1): 21. doi :10.1109/mahc.1985.10001. S2CID 17188378.
^ "El sacerdocio en juego: juegos de computadora en la década de 1950". Ellos crean mundos . 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). pag. 47. doi : 10.1145/800259.808992.
^ Wardrip-Fruin, Noah (diciembre de 2020). Cómo come Pac-Man (1 ed.). Cambridge, MA: The MIT Press. pag. 121.ISBN9780262044653.
^ "Primera grabación de música generada por computadora, creada por Alan Turing, restaurada". El guardián . 26 de septiembre de 2016 . Consultado el 28 de agosto de 2017 .
^ "Restauración de la primera grabación de música por computadora - Blog de visión y sonido". 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". Reseña de libros electrónicos . 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 .
^ "Pioneros de la informática: Christopher Strachey". historia.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, sin dejar de lograr la economía de la multiprogramación.
^ "Computadora: 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 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 . Prensa de la Universidad de Oxford. págs.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 en el aire. Sin embargo, generalmente se usó en mi sentido más que en el sentido de John McCarthy de un objeto similar a CTSS.
^ bilkable (12 de septiembre de 2010), The Lighthill Debate (1973) - parte 6 de 6 , consultado el 27 de octubre de 2017
^ C. Strachey: "Un macrogenerador de uso 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) . HECHOS FACS . 2 . Reino Unido: BCS-FACS : 44–52 . Consultado el 18 de enero de 2017 .(También aquí.)
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". Computación simbólica y de orden superior . 13 (1/2).