John Warner Backus (3 de diciembre de 1924 - 17 de marzo de 2007) fue un informático estadounidense . Dirigió el equipo que inventó e implementó FORTRAN , el primer lenguaje de programación de alto nivel ampliamente utilizado , y fue el inventor de la forma Backus-Naur (BNF), una notación ampliamente utilizada para definir la sintaxis del lenguaje formal . Más tarde hizo una investigación sobre el paradigma de la programación a nivel de función , presentando sus hallazgos en su influyente conferencia del Premio Turing de 1977 "¿Se puede liberar la programación del estilo von Neumann? [1]
John Backus | |
---|---|
Nació | John Warner Backus 3 de diciembre de 1924 |
Fallecido | 17 de marzo de 2007 | (82 años)
alma mater | Universidad de Virginia Universidad de Pittsburgh Universidad de Columbia (BS 1949, MS 1950) |
Conocido por | Codificación rápida FORTRAN ALGOL Forma Backus – Naur Programación a nivel de función |
Premios | Medalla Nacional de Ciencias (1975) Premio Turing (1977) Premio Charles Stark Draper (1993) |
Carrera científica | |
Campos | Ciencias de la Computación |
Instituciones | IBM |
El IEEE otorgó a Backus el premio WW McDowell en 1967 por el desarrollo de FORTRAN. [2] Recibió la Medalla Nacional de la Ciencia en 1975 [3] y el Premio Turing de 1977 "por contribuciones profundas, influyentes y duraderas al diseño de sistemas prácticos de programación de alto nivel, en particular a través de su trabajo en FORTRAN, y para su publicación de procedimientos formales para la especificación de lenguajes de programación ". [4]
Se jubiló en 1991 y murió en su casa en Ashland, Oregon el 17 de marzo de 2007. [5]
Vida temprana
Backus nació en Filadelfia y creció en las cercanías de Wilmington, Delaware . [6] Estudió en The Hill School en Pottstown, Pensilvania , y aparentemente no era un estudiante diligente. [5] Ingresó a la Universidad de Virginia para estudiar química , pero tuvo problemas con sus clases allí y fue expulsado después de menos de un año por mala asistencia. [7] Posteriormente fue reclutado en el ejército de los Estados Unidos durante la Segunda Guerra Mundial , [5] y finalmente llegó a ocupar el rango de cabo, siendo puesto al mando de una batería antiaérea estacionada en Fort Stewart , Georgia . [7]
Después de recibir altas calificaciones en una prueba de aptitud militar, el Ejército lo envió a estudiar ingeniería en la Universidad de Pittsburgh . [7] Más tarde se trasladó a un programa pre-médico en Haverford College . [8] Durante una pasantía en un hospital, le diagnosticaron un tumor de hueso craneal , que fue extirpado con éxito, y se le colocó una placa en la cabeza. Luego se mudó a la Escuela de Medicina Flower and Fifth Avenue para la escuela de medicina, pero no le pareció interesante y la abandonó después de nueve meses. [7] Pronto se sometió a una segunda operación para reemplazar la placa de metal en su cabeza con una de su propio diseño, [9] y recibió una baja médica honorable del Ejército de los Estados Unidos en 1946. [7]
Fortran
Después de mudarse a la ciudad de Nueva York, se formó inicialmente como técnico de radio y se interesó por las matemáticas. Se graduó de la Universidad de Columbia con una licenciatura en 1949 y una maestría en 1950, ambas en matemáticas, [7] y se unió a IBM en 1950. Durante sus primeros tres años, trabajó en la Calculadora Electrónica de Secuencia Selectiva (SSEC) ; su primer gran proyecto fue escribir un programa para calcular las posiciones de la Luna . En 1953 Backus desarrolló el lenguaje Speedcoding , el primer lenguaje de alto nivel creado para una computadora IBM, para ayudar en el desarrollo de software para la computadora IBM 701 . [10]
La programación era muy difícil en ese momento, y en 1954 Backus reunió un equipo para definir y desarrollar Fortran para la computadora IBM 704 . Fortran fue el primer lenguaje de programación de alto nivel que se utilizó ampliamente.
Forma Backus-Naur
Backus participó en los comités internacionales que desarrollaron ALGOL 58 y el muy influyente ALGOL 60 , que rápidamente se convirtió en el estándar mundial de facto para los algoritmos de publicación . Backus desarrolló el formulario Backus-Naur (BNF), publicado en el informe de la UNESCO sobre ALGOL 58. Era una notación formal capaz de describir cualquier lenguaje de programación libre de contexto y era importante en el desarrollo de compiladores . Se probaron algunas desviaciones de este enfoque, especialmente en Lisp y APL, pero en la década de 1970, tras el desarrollo de generadores de compiladores automatizados como yacc , las especificaciones sin contexto de Backus-Naur para lenguajes de computadora se habían vuelto bastante estándar. Esta contribución ayudó a Backus a ganar el Premio Turing en 1977.
Programación a nivel de función
Posteriormente, Backus trabajó en un lenguaje de programación a nivel de función conocido como FP , que se describió en su conferencia del Premio Turing "¿Se puede liberar la programación del estilo von Neumann ?". [1] A veces visto como la disculpa de Backus por la creación de Fortran, este artículo hizo menos para despertar el interés en el lenguaje FP que para impulsar la investigación sobre la programación funcional en general. Cuando Backus publicitó el estilo de programación a nivel de función, su mensaje fue malinterpretado [11] como el mismo que el de los lenguajes de estilo de programación funcional tradicionales.
FP se inspiró fuertemente en el APL de Kenneth E. Iverson , incluso usando un conjunto de caracteres no estándar . Se distribuyó un intérprete FP con el sistema operativo 4.2BSD Unix , pero hubo relativamente pocas implementaciones del lenguaje, la mayoría de las cuales se utilizaron con fines educativos.
Backus pasó la última parte de su carrera desarrollando FL (desde "Function Level"), un sucesor de FP. FL era un proyecto de investigación interno de IBM y el desarrollo del lenguaje se detuvo cuando se terminó el proyecto. Solo quedan unos pocos artículos que lo documentan, y el código fuente del compilador descrito en ellos no se hizo público. FL estaba en desacuerdo con los lenguajes de programación funcional que se desarrollaron en la década de 1980, la mayoría de los cuales se basaban en el cálculo lambda y los sistemas de tipificación estática en lugar de, como en APL, la concatenación de operaciones primitivas. Muchas de las ideas del lenguaje se han implementado ahora en versiones del lenguaje de programación J , sucesor de Iverson a APL.
Premios y honores
- Nombrado miembro de IBM (1963) [12]
- Premio WW McDowell (1967) [2]
- Medalla Nacional de Ciencias (1975) [3]
- Premio Turing (1977) [4]
- Miembro de la Academia Estadounidense de Artes y Ciencias (1985) [13]
- Doctor honoris causa Université Henri-Poincaré (1989) [14]
- Premio Draper (1993) [15]
- Premio Computer History Museum Fellow "por su desarrollo de FORTRAN, contribuciones a la teoría de sistemas informáticos y gestión de proyectos de software". (1997) [16]
- Asteroide 6830 Johnbackus nombrado en su honor (1 de junio de 2007) †
Ver también
- Lista de pioneros en informática
Referencias
- ↑ a b Backus, John (agosto de 1978). "¿Puede la programación liberarse del estilo von Neumann ?: un estilo funcional y su álgebra de programas" . Comunicaciones de la ACM . 21 (8). doi : 10.1145 / 359576.359579 . S2CID 16367522 .
- ^ a b "Premio W. Wallace McDowell" . Archivado desde el original el 29 de septiembre de 2007 . Consultado el 15 de abril de 2008 .
- ^ a b "Medalla nacional de ciencia del presidente: John Backus" . Fundación Nacional de Ciencia. Archivado desde el original el 29 de septiembre de 2007 . Consultado el 21 de marzo de 2007 .
- ^ a b "Cita del premio ACM Turing: John Backus" . Asociación de Maquinaria Informática . Archivado desde el original el 4 de febrero de 2007 . Consultado el 22 de marzo de 2007 .
- ^ a b c Lohr, Steve (20 de marzo de 2007). "John W. Backus, 82, desarrollador de Fortran, muere" . New York Times . Consultado el 21 de marzo de 2007 .
- ^ "John Backus" . Proyecto de Historia de la Computación . Archivado desde el original el 27 de abril de 2016 . Consultado el 28 de abril de 2016 .
- ^ a b c d e f "John Backus - Laureado con el premio AM Turing" . amturing.acm.org . Archivado desde el original el 19 de enero de 2018 . Consultado el 4 de mayo de 2018 .
- ^ "Inventor del archivo de la semana John Backus" . Febrero de 2006. Archivado desde el original el 26 de octubre de 2011 . Consultado el 25 de agosto de 2011 .
- ^ Grady Booch (entrevistador) (25 de septiembre de 2006). "Historia oral de John Backus" (PDF) . Consultado el 17 de agosto de 2009 .
- ^ Allen, FE (septiembre de 1981). "La Historia de la Tecnología de Procesadores de Lenguaje en IBM". Revista de investigación y desarrollo de IBM . 25 (5): 535–548. doi : 10.1147 / rd.255.0535 .
- ^ Hudak, Paul (1989). "Concepción, evolución y aplicación de lenguajes de programación funcional". Encuestas de computación de ACM, vol. 21, No. 3
- ^ "John Backus" . Archivos de IBM . 23 de enero de 2003. Archivado desde el original el 26 de agosto de 2011 . Consultado el 21 de marzo de 2007 .
- ^ "Libro de miembros, 1780-2010: Capítulo B" (PDF) . Academia Estadounidense de Artes y Ciencias. Archivado (PDF) desde el original el 25 de julio de 2011 . Consultado el 28 de abril de 2011 .
- ^ "John Backus" . Archivado desde el original el 14 de mayo de 2008 . Consultado el 15 de abril de 2008 .
- ^ "Destinatarios del premio Charles Stark Draper" . Archivado desde el original el 2 de marzo de 2010 . Consultado el 26 de marzo de 2007 .
- ^ "Fellow Awards 1997 Recipient John Backus" . Archivado desde el original el 9 de julio de 2010 . Consultado el 15 de abril de 2008 .
enlaces externos
- Biografía en la Facultad de Matemáticas y Estadística de la Universidad de St Andrews, Escocia
- Biografía en The History of Computing Project
- El proyecto FL (archivo Postscript)
- "Obituario de John W. Backus" . New York Times . 20 de marzo de 2007.
- Archivos de IBM
- Sobre BNF
- Museo de Historia de la Computación Hall of Fellows
- Campbell-Kelly, Martin (abril de 2007). "Obituario: John Backus (1924-2007): inventor del lenguaje de programación más extendido de la ciencia, Fortran". Naturaleza . 446 (7139): 998. doi : 10.1038 / 446998a . PMID 17460658 . S2CID 4325337 .
- Memorial entregado en la Conferencia de 2007 sobre diseño e implementación de lenguajes de programación