Peter J. Landin
Peter Landin (5 giugno 1930 – 3 giugno 2009) è stato un informatico britannico.
È stato uno dei primi a realizzare che il calcolo lambda poteva essere utilizzato per modellare un linguaggio di programmazione, un'intuizione essenziale per lo sviluppo sia della programmazione funzionale che della semantica denotazionale.
Accademico
modificaLandin è nato a Sheffield, nel South Yorkshire, dove ha frequentato la King Edward VII School, per poi laurearsi al Clare College, Università di Cambridge. Dal 1960 al 1964 è stato assistente di Christopher Strachey quando quest'ultimo era un consulente informatico indipendente a Londra. La maggior parte del suo lavoro è stato pubblicato in quegli anni e nel breve periodo in cui ha collaborato con Univac e con il Massachusetts Institute of Technology, negli Stati Uniti. Si è poi stabilito presso la Queen Mary University di Londra[1]. Durante gli anni '70 e '80, i suoi sforzi si sono concentrati nella costruzione del dipartimento di informatica presso il Queen Mary College, nello sviluppo di corsi e nell'insegnamento agli studenti, come indicato nella prefazione al libro di testo Programmazione dai primi principi. Al suo ritiro, è stato nominato Professore Emerito di Calcolo Teorico presso la Queen Mary University di Londra, dove nel 2012 l'edificio di informatica è stato ribattezzato "Peter Landin Building" in suo onore.
In un workshop sulla storia della semantica di programmazione tenutosi nel 2001 al Science Museum di Londra, Landin ha parlato della sua carriera accademica in informatica iniziata alla fine degli anni '50 e di come sia stato influenzato da uno studio sul linguaggio Lisp di John McCarthy, quando il linguaggio più comunemente usato era il Fortran[2].
È stato attivo nella definizione del linguaggio di programmazione ALGOL. È elencato tra coloro che hanno partecipato alla conferenza del novembre 1959 a Parigi[3], e alla conferenza del 1962[4], ed è citato da Tony Hoare come una delle persone che gli hanno insegnato ALGOL 60 e quindi hanno facilitato la sua espressione di potente algoritmi ricorsivi:
"Intorno alla Pasqua del 1961, fu offerto un corso su ALGOL 60 a Brighton, in Inghilterra, con Peter Naur, Edsger W. Dijkstra e Peter Landin come tutor. ... Fu lì che appresi per la prima volta le procedure ricorsive e vidi come programmare il metodo di smistamento che in precedenza avevo trovato tanta difficoltà a spiegare. Fu lì che scrissi la procedura, chiamata immodestamente QUICKSORT, su cui si fonda la mia carriera di informatico. Il dovuto merito va al genio dei progettisti di ALGOL 60 che hanno incluso la ricorsione nel loro linguaggio e mi hanno permesso di descrivere la mia invenzione in modo così elegante al mondo. L'ho considerato come l'obiettivo più alto della progettazione del linguaggio di programmazione per consentire l'espressione elegante delle buone idee."
Landin è stato coinvolto nella definizione degli standard internazionali della programmazione e dell'informatica, come membro dell'IFIP Working Group 2.1 on Algorithmic Languages and Calculi della Federazione internazionale per l'elaborazione delle informazioni (IFIP), che specifica, mantiene e supporta i linguaggi di programmazione ALGOL 60 e ALGOL 68[5].
Landin è responsabile dell'invenzione della macchina dello stack, dell'ambiente, del controllo, del dump SECD, la prima macchina astratta per un linguaggio di programmazione funzionale[6], e del linguaggio di programmazione ISWIM, definendo la regola del fuorigioco di Landin e coniando il termine zucchero sintattico. La regola del fuorigioco consente la dichiarazione dell'ambito di delimitazione mediante l'uso di spazi bianchi come si vede in linguaggi come Miranda, Haskell, Python e F# (usando la sintassi leggera).
Politica
modificaLandin, che era bisessuale, fu coinvolto nel Gay Liberation Front (GLF) durante i primi anni '70. Una volta fu arrestato nell'ambito di una manifestazione antinucleare. Era un ciclista appassionato e si spostava per Londra in bicicletta fino a quando non gli era diventato fisicamente impossibile farlo.
Note
modifica- ^ Hashagen, Reinhard Keil-Slawik e Arthur L. Norberg (a cura di), History of computing: software issues, International Conference on the History of Computing, ICHC 2000, Heinz Nixdorf MuseumsForum, Paderborn, Germany, 5-7 aprile 2000, Berlino, Springer, 29 giugno 2013, ISBN 978-3-662-04954-9, OCLC 861966658.
- ^ Program Verification and Semantics: Report, su vmoc.museophile.org, 2001. URL consultato il 27 luglio 2014 (archiviato dall'url originale il 26 settembre 2007).
- ^ AB8 December 1959, su archive.computerhistory.org, dicembre 1959 (archiviato dall'url originale il 15 giugno 2009).
- ^ J. W. Backus, J. H. Wegstein, A. van Wijngaarden, M. Woodger, P. Naur, F. L. Bauer, J. Green, C. Katz, J. McCarthy, A. J. Perlis, H. Rutishauser, K. Samelson e B. Vauquois, Revised Report on the Algorithmic Language Algol 60, su mass:werk, 1º gennaio 1963.
- ^ Doaitse Swierstra, Jeremy Gibbons e Lambert Meertens, ScopeEtc: IFIP21: Foswiki, su Foswiki, 2 marzo 2011. URL consultato il 10 settembre 2020 (archiviato dall'url originale il 2 settembre 2018).
- ^ Stephan Diehl, Pieter Hartel e Peter Sestoft, Abstract machines for programming language implementation, in Future Generation Computer Systems, vol. 16, n. 7, 2000, pp. 739–751.