Tony hoare

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
British computer scientific

Sir Charles Antony Richard Hoare (Tony Hoare o C. A. R. Hoare) FRS FREng (nacido el 11 de enero de 1934) es un informático británico que ha realizado contribuciones fundamentales a los lenguajes de programación, algoritmos, sistemas operativos, verificación formal y computación concurrente. Su trabajo le valió el Premio Turing, generalmente considerado como la más alta distinción en informática, en 1980.

Hoare desarrolló el algoritmo de clasificación quicksort en 1959-1960. Desarrolló la lógica Hoare, una base axiomática para verificar la corrección del programa. En la semántica de la concurrencia, introdujo el lenguaje formal que comunica procesos secuenciales (CSP) para especificar las interacciones de los procesos concurrentes y, junto con Edsger Dijkstra, formuló el problema de los filósofos comedores. También se le atribuye el desarrollo (y posterior crítica) del puntero nulo, habiéndolo introducido en la familia de lenguajes ALGOL. Desde 1977, ha ocupado cargos en la Universidad de Oxford y Microsoft Research en Cambridge.

Educación y primeros años

Tony Hoare nació en Colombo, Ceilán (ahora Sri Lanka) de padres británicos; su padre era un funcionario colonial y su madre era hija de un plantador de té. Hoare se educó en Inglaterra en Dragon School en Oxford y King's School en Canterbury. Luego estudió Clásicos y Filosofía ("Grandes") en Merton College, Oxford. Al graduarse en 1956, hizo 18 meses de Servicio Nacional en la Royal Navy, donde aprendió ruso. Regresó a la Universidad de Oxford en 1958 para estudiar para obtener un certificado de posgrado en estadística, y fue aquí donde comenzó a programar computadoras, después de que Leslie Fox le enseñara Autocode en el Ferranti Mercury. Luego fue a la Universidad Estatal de Moscú como estudiante de intercambio del British Council, donde estudió traducción automática con Andrey Kolmogorov.

Investigación y carrera

En 1960, Hoare abandonó la Unión Soviética y comenzó a trabajar en Elliott Brothers Ltd, una pequeña empresa de fabricación de computadoras ubicada en Londres. Allí, implementó el lenguaje ALGOL 60 y comenzó a desarrollar algoritmos importantes.

Estuvo involucrado en el desarrollo de estándares internacionales en programación e informática, como miembro del Grupo de trabajo 2.1 de la Federación Internacional para el Procesamiento de la Información (IFIP) sobre lenguajes algorítmicos y cálculos, que especificó, mantiene y admite los lenguajes ALGOL 60 y ALGOL. 68.

Se convirtió en profesor de Ciencias de la Computación en la Queen's University of Belfast en 1968, y en 1977 regresó a Oxford como profesor de Computación para dirigir el Grupo de Investigación de Programación en el Laboratorio de Computación de la Universidad de Oxford (ahora Departamento de Ciencias de la Computación, Universidad de Oxford), tras la muerte de Christopher Strachey. Ahora es profesor emérito allí y también es investigador principal en Microsoft Research en Cambridge, Inglaterra.

El trabajo más significativo de Hoare ha sido en las siguientes áreas: su algoritmo de clasificación y selección (Quicksort y Quickselect), la lógica de Hoare, el lenguaje formal que comunica procesos secuenciales (CSP) que se usa para especificar las interacciones entre procesos concurrentes (e implementado en varios lenguajes de programación como occam), la estructuración de sistemas operativos de computadora utilizando el concepto de monitor y la especificación axiomática de lenguajes de programación.

Hablando en una conferencia de software en 2009, Tony Hoare se disculpó por inventar la referencia nula:

Lo llamo mi error de mil millones de dólares. Fue la invención de la referencia nula en 1965. En ese momento, estaba diseñando el primer sistema de tipo completo para referencias en un lenguaje orientado al objeto (ALGOL W). Mi objetivo era asegurar que todo el uso de referencias fuera absolutamente seguro, con la comprobación realizada automáticamente por el compilador. Pero no pude resistir la tentación de poner en una referencia nula, simplemente porque era tan fácil de implementar. Esto ha llevado a innumerables errores, vulnerabilidades y fallos del sistema, que probablemente han causado miles de millones de dólares de dolor y daños en los últimos cuarenta años.

Durante muchos años bajo su liderazgo, el departamento de Oxford de Hoare trabajó en lenguajes de especificación formal como CSP y Z. Estos no lograron la aceptación esperada por parte de la industria, y en 1995 Hoare se vio obligado a reflexionar sobre la supuestos originales:

Hace diez años, investigadores en métodos formales (y yo era el más equivocado entre ellos) predijeron que el mundo de la programación abrazaría con gratitud cada asistencia prometida por la formalización para resolver los problemas de confiabilidad que surgen cuando los programas se hacen grandes y más críticos de seguridad. Los programas tienen ahora muy grandes y muy críticos, más allá de la escala que puede ser abordada cómodamente por métodos formales. Ha habido muchos problemas y fracasos, pero casi siempre se han atribuido a un análisis inadecuado de las necesidades o a un control de gestión inadecuado. Ha resultado que el mundo no sufre significativamente del tipo de problema que nuestra investigación pretendía resolver originalmente.

Premios y distinciones

  • Distinguished Fellow of the British Computer Society (1978)
  • Premio Turing para "contribuciones fundamentales a la definición y diseño de lenguajes de programación". El premio fue presentado a él en la Conferencia Anual ACM en Nashville, Tennessee, el 27 de octubre de 1980, por Walter Carlson, presidente del comité de premios. Una transcripción del discurso de Hoare fue publicada en Comunicaciones de la ACM.
  • Premio Harry H. Goode Memorial (1981)
  • Fellow of the Royal Society (1982)
  • Doctorado Honorario de Ciencias por la Universidad de la Reina Belfast (1987)
  • Honorary Doctorate of Science, from the University of Bath (1993)
  • Honorary Fellow, Kellogg College, Oxford (1998)
  • Cabildo para servicios a la educación y la informática (2000)
  • Kyoto Prize for Information science (2000)
  • Fellow of the Royal Academy of Engineering (2005)
  • Miembro de la Academia Nacional de Ingeniería (2006) para contribuciones fundamentales a la informática en las áreas de algoritmos, sistemas operativos y lenguajes de programación.
  • Museo de Historia de la Computación (CHM) en Mountain View, California Fellow of the Museum "para el desarrollo del algoritmo Quicksort y para contribuciones de por vida a la teoría de los lenguajes de programación" (2006)
  • Doctorado Honorario de la Universidad Heriot-Watt (2007)
  • Doctorado Honorario de Ciencias por el Departamento de Informática de la Universidad de Economía y Empresa de Atenas (AUEB) (2007)
  • Friedrich L. Bauer-Prize, Universidad Técnica de Munich (2007)
  • SIGPLAN Programación de idiomas Premio al logro (2011)
  • IEEE John von Neumann Medalla (2011)
  • Doctorado Honorario, Universidad de Varsovia (2012)
  • Doctorado Honorario, Universidad Complutense de Madrid (2013)
  • 1973 ACM Programación de sistemas e idiomas Premio de papel, para el papel "Proof of correctness of data representations"

Vida privada

En 1962, Hoare se casó con Jill Pym, miembro de su equipo de investigación.

Libros

  • Dahl, O.-J.; Dijkstra, E. W.; Hoare, C. A. R. (1972). Programación estructurada. Prensa Académica. ISBN 978-0-12-200550-3. OCLC 23937947.
  • C. A. R. Hoare (1985). Transmisión de procesos secuenciales. Prentice Hall International Series in Computer Science. ISBN 978-0131532717 (hardback) o ISBN 978-0131532892 (paperback). (Disponible en Internet en http://www.usingcsp.com/ en formato PDF).
  • Hoare, C. A. R. (1989). C. B., Jones (ed.). Ensayos en ciencias informáticas. Prentice Hall International Series in Computer Science. ISBN 978-0-13-284027-9.
  • Hoare, C. A. R.; Gordon, M. J. C. (1992). Mobiliario mecánico y diseño de hardware. Prentice Hall International Series in Computer Science. ISBN 978-0-13-572405-7. OCLC 25712842.
  • Hoare, C. A. R.; He, Jifeng (1998). Unificación de Teorías de Programación. Prentice Hall International Series in Computer Science. ISBN 978-0-13-458761-5. OCLC 38199961.

Contenido relacionado

Desbordamiento de búfer

Visor de archivos

Análisis de programa

El análisis del programa se puede realizar sin ejecutar el programa durante el tiempo de ejecución o en una combinación de...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save