it.wikipedia.org

Edsger Dijkstra - Wikipedia

Da Wikipedia, l'enciclopedia libera.

Edsger Wybe Dijkstra

Edsger Wybe Dijkstra (pronuncia olandese [ˈɛtsxər ˈʋibə ˈdɛikstra] ascolta) (Rotterdam, 11 maggio 1930Nuenen, 6 agosto 2002) è stato un informatico olandese.

Edsger Wybe Dijkstra nacque a Rotterdam l'11 maggio del 1930. Suo padre, Douwe Wybe Dijkstra, fu un professore di chimica alle scuole superiori e servì come presidente della Dutch Chemical Society[1][2]. Sua madre, Brecthje Cornelia Kluijver (o Kluyver), fu una brillante matematica, da cui lo stesso Edsger afferma di aver imparato la capacità di trovare soluzioni eleganti[2].

Durante l'ultimo anno di Ginnasio frequentato a Rotterdam, Dijkstra aveva deciso di studiare legge all'università. La sua ambizione era di rappresentare i Paesi Bassi alle Nazioni Unite[1][2]. Per via degli ottimi risultati conseguiti nelle discipline scientifiche all'esame finale del 1948, sia i professori che i parenti gli suggerirono di assecondare tale propensione. L'anno seguente, pertanto, Dijkstra andò all'Università di Leida a studiare matematica e fisica per i primi anni e fisica teorica negli ultimi. Questi anni universitari sono stati, a detta di Dijkstra, il periodo migliore della sua vita, malgrado fosse in difficoltà economiche, lavorasse molto duramente e dormisse poco[1].

Nel 1951, mentre era ancora all'Università di Leida a studiare, il padre, che era abbonato a Nature, trovò un annuncio per un corso di tre settimane sulla programmazione dei computer che si sarebbe svolto all'Università di Cambridge in Inghilterra nel settembre dello stesso anno. Edsger colse l'occasione e per questo venne anche invitato da Adrian van Wijngaarden, il Direttore del dipartimento di informatica del Centrum Wiskunde & Informatica (CWI), ad Amsterdam. A seguito di questo incontro riceverà un lavoro a tempo pieno al CWI, come primo olandese con le competenze da "programmatore". Nel 1956 Dijkstra conseguì la laurea in fisica. Finiti gli studi, decide di spostarsi da Leida, dove ha soggiornato dal 1949 al 1956, a Amsterdam per lavorare a tempo pieno al CWI.

Ha lavorato come ricercatore per la Burroughs Corporation agli inizi degli anni '70. Nel 1972 ha ricevuto il Premio Turing.

Ha lavorato all'Eindhoven University of Technology nei Paesi Bassi e in seguito tenne la cattedra di informatica all'Università del Texas di Austin.

Nel 1999, a quasi settanta anni, Dijkstra si ritira dall'insegnamento. In occasione del suo settantesimo compleanno, il dipartimento di informatica organizza un simposio che si è tenuto nel maggio del 2000. Nel febbraio del 2002 Edsger Wybe Dijkstra ritorna nel suo Paese d'origine, i Paesi Bassi.

I suoi più importanti contributi all'informatica sono stati il cosiddetto "algoritmo di Dijkstra" e il concetto informatico di "semaforo".

È anche noto per la pessima opinione espressa a proposito dell'uso dell'istruzione GOTO nella programmazione, culminata nel celebre articolo del 1968 Go To Statement Considered Harmful, considerato come uno dei passi fondamentali verso il rifiuto generalizzato dell'istruzione GOTO nei linguaggi di programmazione e della sua sostituzione con più funzionali strutture di controllo come il ciclo while. Il celebre titolo dell'articolo non è di Dijkstra, ma di Niklaus Wirth, allora curatore di Communications of the ACM. Dijkstra era noto per essere un fan dell'ALGOL 60, e lavorò nel gruppo che realizzò il primo compilatore per questo linguaggio. Dijkstra e Jaap Zonneveld, che collaborò alla realizzazione del compilatore, si accordarono sul fatto di non radersi fino alla conclusione del progetto. Alla fine Zonneveld si tagliò la lunga barba, mentre Dijkstra preferì mantenerla fino alla fine dei suoi giorni.

Sin dal 1970, l'interesse principale di Dijkstra fu la verifica formale (formal verification). A quel tempo l'opinione prevalente era che bisognasse scrivere prima il programma e solo in seguito fornire una dimostrazione matematica di correttezza formale. Dijkstra obiettò che le dimostrazioni così prodotte erano lunghe ed illeggibili, e che non fornivano nessuna informazione sul modo in cui il programma era stato sviluppato. Il metodo alternativo proposto da Dijkstra fu il cosiddetto program derivation, consistente nello sviluppare in modo parallelo il programma e la dimostrazione. Secondo le parole di Dijkstra: "develop proof and program hand in hand". Partendo da una descrizione matematica di quello che il programma dovrebbe fare, si applicano le opportune trasformazioni matematiche in modo da trasformare la descrizione matematica iniziale in un programma eseguibile. Il programma risultante viene definito come: correct by construction ("corretto per costruzione").

Si occupò anche di sistemi operativi, sviluppando il concetto di semaforo, implementandolo nel sistema operativo THE, e formulando il famoso problema di sincronizzazione detto problema dei cinque filosofi a cena.

Gran parte del lavoro successivo di Dijkstra riguarda i modi per snellire le argomentazioni matematiche. In una intervista del 2001 dichiarò un desiderio di "eleganza", dove l'approccio corretto consiste nell'elaborare i pensieri mentalmente, senza tentare di comunicarli finché non sono completi. L'analogia che fece era in contrasto con l'approccio compositivo di Mozart e Beethoven.

Dijkstra era noto per le sue opinioni schiette riguardo alla programmazione, e per la sua abitudine di comporre attentamente dei manoscritti con la sua penna stilografica. Molti dei suoi appunti sono stati scansionati e sono disponibili online.

  • Predicate Calculus and Programming Semantics (1990)
  • A Method of Programming (1988)
  • Selected Writings on Computing: A Personal Perspective (1982)
  • A Discipline of Programming (1976)
  • Structured Programming (1972)
  1. ^ a b c (EN) Edsger W. Dijkstra, From my Life (PDF), su cs.utexas.edu.
  2. ^ a b c (EN) Dijkstra Biography, su www-groups.dcs.st-and.ac.uk.

V · D · M

Vincitori del Premio Turing
Anni 1960Alan Perlis (1966) · Maurice V. Wilkes (1967) · Richard Hamming (1968) · Marvin Minsky (1969)
Anni 1970James H. Wilkinson (1970) · John McCarthy (1971) · Edsger Dijkstra (1972) · Charles Bachman (1973) · Donald Knuth (1974) · Allen Newell - Herbert Simon (1975) · Michael Rabin - Dana Scott (1976) · John Backus (1977) · Robert Floyd (1978) · Kenneth Iverson (1979)
Anni 1980Tony Hoare (1980) · Edgar F. Codd (1981) · Stephen Cook (1982) · Ken Thompson - Dennis Ritchie (1983) · Niklaus Wirth (1984) · Richard Karp (1985) · John Hopcroft - Robert Tarjan (1986) · John Cocke (1987) · Ivan Sutherland (1988) · William Kahan (1989)
Anni 1990Fernando J. Corbató (1990) · Robin Milner (1991) · Butler W. Lampson (1992) · Juris Hartmanis - Richard E. Stearns (1993) · Edward Feigenbaum - Raj Reddy (1994) · Manuel Blum (1995) · Amir Pnueli (1996) · Douglas Engelbart (1997) · James Gray (1998) · Frederick P. Brooks, Jr. (1999)
Anni 2000Andrew Chi-Chih Yao (2000) · Ole-Johan Dahl - Kristen Nygaard (2001) · Ronald Rivest - Adi Shamir - Leonard Adleman (2002) · Alan Kay (2003) · Vint Cerf - Robert Kahn (2004) · Peter Naur (2005) · Frances E. Allen (2006) · Edmund M. Clarke - E. Allen Emerson - Joseph Sifakis (2007) · Barbara Liskov (2008) · Charles P. Thacker (2009)
Anni 2010Leslie Valiant (2010) · Judea Pearl (2011) · Silvio Micali - Shafi Goldwasser (2012) · Leslie Lamport (2013) · Michael Stonebraker (2014) · Martin Hellman - Whitfield Diffie (2015) · Tim Berners-Lee (2016) · John L. Hennessy - David Patterson (2017) · Yoshua Bengio - Geoffrey Hinton - Yann LeCun (2018) Edwin Catmull - Pat Hanrahan (2019)
Anni 2020Alfred Aho - Jeffrey Ullman (2020) · Jack Dongarra (2021) · Robert Metcalfe (2022) · Avi Wigderson (2023)
Controllo di autoritàVIAF (EN17820452 · ISNI (EN0000 0001 1234 890X · LCCN (ENn82078425 · GND (DE139688641 · BNF (FRcb17209986p (data) · J9U (ENHE987007290039205171 · NSK (HR000697868 · NDL (ENJA00437921 · CONOR.SI (SL6685027