J. Halcombe " Hal " Laning Jr. (14 de febrero de 1920, en Kansas City , Misuri [1] - 29 de mayo de 2012) fue un pionero de la informática del Instituto Tecnológico de Massachusetts que en 1952 inventó un compilador algebraico llamado George (también conocido como el sistema de Laning y Zierler en honor a los autores del artículo publicado) que se ejecutaba en el MIT Whirlwind , la primera computadora en tiempo real . [2] Laning diseñó George para que fuera una alternativa más fácil de usar al lenguaje ensamblador para ingresar ecuaciones matemáticas en una computadora. Más tarde se convirtió en un colaborador clave de la carrera a la Luna de la década de 1960, con un trabajo pionero en sistemas de guía basados en el espacio para las misiones Apolo a la Luna . De 1955 a 1980, fue subdirector asociado del Laboratorio de Instrumentación del MIT .
En 1956 publicó el libro Random Processes in Automatic Control (McGraw-Hill Series on Control System Engineering), con Richard Battin como coautor.
En colaboración con Phil Hankins y Charlie Werner del MIT, inició el trabajo en MAC (MIT Algebraic Compiler), un lenguaje de programación algebraica para el IBM 650, que se completó a principios de la primavera de 1958. [3]
Laning recibió su doctorado en el MIT en 1947 con una disertación titulada "Teoría matemática del flujo de tipo lubricación". [4] Su título universitario en Ingeniería química (1940) también fue del MIT. [5]
Fue elegido miembro de la Academia Nacional de Ingeniería en 1983 por su trabajo en ingeniería aeroespacial , particularmente por sus "logros pioneros únicos en guía de misiles y ciencias de la computación: el sistema de guía Q para Thor y Polaris [misiles] y George". [6] También fue miembro honorario de la Sociedad Matemática Estadounidense . [7]
Laning aparece de forma destacada en el tercer episodio de la miniserie documental del Science Channel titulada Moon Machines , que se emitió en junio de 2008.
Más tarde trabajó en el Laboratorio Draper del MIT , con Richard H. Battin , para desarrollar un esquema para realizar navegación a bordo en el sistema de guía del módulo de comando/servicio del programa Apolo . Diseñó el sistema operativo Ejecutivo y de Lista de Espera para el LGC (Computadora de Guía del Módulo Lunar) a mediados de la década de 1960; lo construyó desde cero sin ejemplos que lo guiaran, y el diseño aún es válido. La asignación de funciones entre un número razonable de procesos asincrónicos, bajo el control de un ejecutivo preventivo impulsado por la velocidad y la prioridad, todavía representa el estado del arte en computadoras GN&C en tiempo real para naves espaciales. Su diseño salvó la misión de aterrizaje del Apolo 11 cuando el programa de interfaz de radar de encuentro comenzó a utilizar más conjuntos de núcleos de registro y áreas de "acumulador de vectores" de los que estaban físicamente disponibles en la memoria, lo que provocó los infames errores 1201 y 1202. De no haber sido por el diseño de Laning, el aterrizaje se habría abortado por falta de una computadora de guía estable. [8]