Edsger Dijkstra

Da Wikipedia, l'enciclopedia libera.
(EN)

« Computer Science is no more about computers than astronomy is about telescopes. »

(IT)

« L'informatica non riguarda i computer più di quanto l'astronomia riguardi i telescopi. »

Edsger Wybe Dijkstra

Edsger Wybe Dijkstra (Rotterdam, 11 maggio 1930Nuenen, 6 agosto 2002) è stato un informatico olandese.

Biografia[modifica | modifica wikitesto]

Nascita[modifica | modifica wikitesto]

Edsger Wybe Dijkstra è nato a Rotterdam nel 1930. Suo padre, Douwe Wybe Dijkstra, è stato un professore di chimica alle scuole superiori, che ha servito come presidente della Dutch Chemical Society[1][2]. Sua madre, invece, Brecthje Cornelia Klujiver (o Kluyver), è stata una brillante matematica, da cui lo stesso Edsger afferma di aver imparato la capacità di trovare soluzioni eleganti [2].

Dal ginnasio all'università[modifica | modifica wikitesto]

Durante l'ultimo anno di Ginnasio frequentato a Rotterdam, Dijkstra aveva deciso di studiare legge all'università. La sua ambizione era di rappresentare l'Olanda alle Nazioni Unite[1][2]. All'esame finale nel 1948 grazie ai suoi ottimi risultati nelle discipline scientifiche, sia i professori che i suoi parenti gli consigliarono che sarebbe stato un peccato che non si fosse dedicato a tale ambito. L'anno seguente, 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 si trovasse sempre al verde, 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 A. 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 spostastarsi da Leida, dove ha soggiornato dal 1949 al 1956, a Amsterdam per lavorare a tempo pieno al CWI.

Dai primi contributi al premio Turing[modifica | modifica wikitesto]

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.

Gli ultimi anni[modifica | modifica wikitesto]

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.

Attività[modifica | modifica wikitesto]

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 candide opinioni sulla 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.

Libri[modifica | modifica wikitesto]

  • 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).

Voci correlate[modifica | modifica wikitesto]

Note[modifica | modifica wikitesto]

  1. ^ a b c Edsger W. Dijkstra, From my Life (PDF), cs.utexas.edu.
  2. ^ a b c Dijkstra Biography, www-groups.dcs.st-and.ac.uk.

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

Controllo di autorità VIAF: (EN17820452 · LCCN: (ENn82078425 · ISNI: (EN0000 0001 1234 890X · GND: (DE139688641 · NLA: (EN35036226