# Peter Landin

Peter John Landin (5 de junio de 1930 - 3 de junio de 2009) 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.

## Trayectoria

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. De 1960 a 1964, siendo consultor informático independiente en Londres, fue asistente de Christopher Strachey. 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.
Fue muy activo en la definición del lenguaje de programación ALGOL, 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".
Landin es responsable de inventar la máquina SECD, la primera máquina abstracta para un lenguaje de programación funcional, 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. Se eligió "700" porque Landin había leído en el Journal of the ACM que ya existían 700 lenguajes de programación. 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". 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. Este sentido del humor seco se expresa en muchos de sus documentos.

## Política

Landin, que era bisexual, 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. Fue ciclista y se movía por Londres en su bicicleta hasta que se volvió físicamente imposible para él.

## Publicaciones seleccionadas

* Landin, Peter J. (1964). «The mechanical evaluation of expressions». The Computer Journal (British Computer Society) 6 (4): 308-320. doi:10.1093/comjnl/6.4.308.
* Landin, Peter J. (1966). «A formal description of Algol 60». En T. B. Steel Jr., ed. Formal Language Description Languages for Computer Programming: 266-294.
* Landin, Peter J. (February 1965a). «Correspondence between ALGOL 60 and Church's Lambda-notation: part I». Communications of the ACM (Association for Computing Machinery) 8 (2): 89-101. doi:10.1145/363744.363749.
* Landin, Peter J. (March 1965b). «A correspondence between ALGOL 60 and Church's Lambda-notation: part II». Communications of the ACM (Association for Computing Machinery) 8 (3): 158-165. doi:10.1145/363791.363804.
* Landin, Peter J. (29 August 1965c). «A Generalization of Jumps and Labels». UNIVAC Systems Programming Research (Technical Report). Reimpreso en Landin, Peter J. (December 1998). «A Generalization of Jumps and Labels». Higher-Order and Symbolic Computation 11 (2): 125-143. doi:10.1023/A:1010068630801.
* Landin, Peter J. (March 1966). «The next 700 programming languages». Communications of the ACM (Association for Computing Machinery) 9 (3): 157-166. doi:10.1145/365230.365257.