Peter Landin

De Wikipedia, la enciclopedia libre
Peter Landin
Información personal
Nacimiento 5 de junio de 1930 Ver y modificar los datos en Wikidata
Sheffield (Reino Unido) Ver y modificar los datos en Wikidata
Fallecimiento 3 de junio de 2009 Ver y modificar los datos en Wikidata (78 años)
Inglaterra (Reino Unido) Ver y modificar los datos en Wikidata
Nacionalidad Británica
Educación
Educado en
Información profesional
Ocupación Informático teórico e ingeniero Ver y modificar los datos en Wikidata
Empleador
Obras notables ISWIM Ver y modificar los datos en Wikidata

Peter John Landin (5 de junio de 1930 - 3 de junio de 2009)[1][2]​ fue un informático británico. Landin fue pionero en el uso del cálculo lambda para modelar un lenguaje de programación, una idea que es esencial para el desarrollo de la programación funcional y semántica denotacional, utilizada en la actualidad en el software que se usa en ordenadores e internet.[3]

Trayectoria[editar]

Landin nació en Sheffield, donde asistió a la escuela Rey Eduardo VII. Se graduó en matemáticas en el Clare College de la Universidad de Cambridge.[3]​ De 1960 a 1964, siendo consultor informático independiente en Londres, fue asistente de Christopher Strachey.[4]​ La mayor parte de su trabajo se publicó durante este período y el breve tiempo que trabajó para Univac y en el Instituto de Tecnología de Massachusetts en los Estados Unidos antes de conseguir un puesto en Queen Mary University of London. Durante las décadas de 1970 y 1980, sus esfuerzos se centraron en construir el departamento de Ciencias de la Computación en el Queen Mary College y en la enseñanza. Tras jubilarse, fue nombrado profesor emérito de computación teórica en la Queen Mary University of London, donde en 2012 el edificio de Ciencias de la Computación pasó a llamarse Peter Landin Building en su honor.

En un taller en el Museo de Ciencias de Londres, en 2001, sobre la historia de la semántica de lenguajes de programación, habló de cómo comenzó su carrera académica en ciencias de la computación a fines de la década de 1950, y cómo fue muy influenciado por un estudio del LISP de John McCarthy cuando el lenguaje de programación más utilizado era Fortran.[5]

Fue muy activo en la definición del lenguaje de programación ALGOL,[6]​ y C. A. R. Hoare le citó como una de las personas que le enseñó ALGOL 60 y, por lo tanto, le facilitó el diseño de poderosos algoritmos recursivos:

"Alrededor de Pascua de 1961, se ofreció un curso sobre ALGOL 60 en Brighton, Inglaterra, con Peter Naur, Edsger W. Dijkstra y Peter Landin como tutores. . . . Fue allí donde aprendí por primera vez acerca de los procedimientos recursivos y vi cómo programar el método de clasificación que anteriormente había encontrado tanta difícil de explicar. Fue allí donde escribí el procedimiento, inmodestamente llamado QUICKSORT, en el que se forjó mi carrera como informático. Se debe dar crédito al genio de los diseñadores de ALGOL 60 que incluyeron la recursividad en su lenguaje y me permitieron describir mi invención de manera tan elegante al mundo. Lo he considerado como el objetivo más alto del diseño del lenguaje de programación para permitir que las buenas ideas se expresen con elegancia".[7]

Landin es responsable de inventar la máquina SECD, la primera máquina abstracta para un lenguaje de programación funcional,[8]​ y el lenguaje de programación ISWIM, definiendo la regla de fuera de juego de Landin y para acuñar el término azúcar sintáctico. La regla de fuera de juego permite la declaración de alcance delimitador mediante el uso de espacios en blanco como se ve en lenguajes como Miranda, Haskell, Python y F Sharp (utilizando la sintaxis "light"). Otra frase que se originó con Landin es "Los próximos 700 ..." después de su influyente artículo Los próximos 700 lenguajes de programación.[9]​ Se eligió "700" porque Landin había leído en el Journal of the ACM que ya existían 700 lenguajes de programación.[10]​ El documento comienza con la cita "... hoy ... 1.700 lenguajes de programación especiales utilizados para 'comunicarse' en más de 700 áreas de aplicación".[11]​ También incluye el chiste que

Un posible primer paso en el programa de investigación son las 1700 tesis doctorales llamadas "Una correspondencia entre x y Church's λ-notation"

una referencia a su artículo anterior.[12]​ Este sentido del humor seco se expresa en muchos de sus documentos.

Política[editar]

Landin, que era bisexual,[3]​ se involucró con el Frente de Liberación Gay (GLF) a principios de la década de 1970. Fue arrestado una vez como parte de una manifestación antinuclear.[13]​ Fue ciclista y se movía por Londres en su bicicleta hasta que se volvió físicamente imposible para él.[14]

Publicaciones seleccionadas[editar]

Referencias[editar]

  1. Peter Landin, Lambda the Ultimate, 4 June 2009.
  2. Bornat, 2009a
  3. a b c Bornat, Richard (22 de septiembre de 2009). «Peter Landin obituary». The Guardian (en inglés británico). ISSN 0261-3077. Consultado el 12 de julio de 2020. 
  4. History of computing : software issues : International Conference on the History of Computing, ICHC 2000, April 5-7, 2000, Heinz Nixdorf MuseumsForum, Paderborn, Germany. Hashagen, Ulf,, Keil-Slawik, Reinhard, 1953-, Norberg, Arthur L. (Arthur Lawrence), 1938-, Heinz Nixdorf MuseumsForum. Berlin. 29 de junio de 2013. ISBN 978-3-662-04954-9. OCLC 861966658. 
  5. «Program Verification and Semantics: Report». Archivado desde el original el 26 de septiembre de 2007. Consultado el 27 de julio de 2014. , 2001.
  6. Landin, 1964b
  7. ACM Turing Award Lecture: The Emperor's Old Clothes.
  8. Stephan Diehl, Pieter Hartel, Peter Sestoft (2000). "Abstract machines for programming language implementation". Future Generation Computer Systems, Volume 16, Issue 7, pages 739–751.
  9. Landin, 1966
  10. Personal communication, September 2007.
  11. Computer Software Issues, an American Mathematical Association Prospectus, July 1965.
  12. Landin, 1965a
  13. Bornat, 2009b
  14. «A Queer History of Computing: Part Four». Rhizome (en inglés). Consultado el 12 de julio de 2020. 

Bibliografía[editar]

Enlaces externos[editar]