Edsger W. Dijkstra
![]() | |
Rođenje | 11. svibnja, 1930. Rotterdam, Nizozemska |
---|---|
Smrt | 6. kolovoza, 2002. Nuenen, Nizozemska |
Polje | Računarstvo |
Institucija | Mathematisch Centrum Sveučilište Texasa u Austinu |
Poznat po | Dijkstrin algoritam THE multiprogramirajući sustav Semafor |
Istaknute nagrade | Turingova nagrada Association for Computing Machinery |
Edsger Wybe Dijkstra (Rotterdam, 11. svibnja, 1930. – 6. kolovoza, 2002.); (MFA za engl.: ˈɛtˌsxər ˈwɛɪbə ˈdɛɪkˌstra) bio je nizozemski računalni znanstvenik. Dobio je Turingovu nagradu 1972. za fundamentalne doprinose na području programskih jezika, te je držao poziciju Schlumberger Centennial Chair računalnih znanosti na Sveučilištu Texasa u Austinu od 1984. pa do svoje smrti 2002.
Netom prije smrti je primio ACM PODC utjecajni papir nagradu u rapospodijeljenom računarstvu za papir koji za začeo potpodručje samo-stabilizacije. Ova godišnja nagrada je preimenovana u ACM Edsger W. Dijkstra nagrada ubrzo nakon Dijkstrine smrti.
Rođen u Rotterdamu, Dijkstra je studirao teoretsku fiziku na sveučilištu u Leidenu, da bi vrlo brzo shvatio da ga programiranje više zanima.
Izvorno zaposlen od strane Mathematisch Centruma u Amsterdamu, obnašao je dužnost profesora na Sveučilištu tehnologije u Eindhovenu u Nizozemskoj, radio kao istraživač za Burroughs Corporation u ranim 1970-im, te kasnije preuzeo poziciju Schlumberger Centennial Chair računalnih znanosti u sveučilištu Texasa u Austinu, u SAD-u. Umirovljen je 2000.
Među doprinosima u računarstvu su algoritam najkraćeg puta, poznat i kao Dijkstrin algoritam, THE multiprogramirajući sustav te sinkronizacijski konstrukt semafora, za koordiniranje višestrukih procesora i programa. Drugi koncept za koji je Dijkstra zaslužan u polju raspodijeljenog računarstva jest samo-stabilizacija - alternativan način osiguravanja pouzdanosti sustava. Dijkstrin algoritam je korišten u SPF (Shortest Path First), koji je korišten u usmjeravajućem protokolu OSPF (Open Shortest Path First).
Poznat je i po izrazito lošem mišljenju o GOTO naredbi u računalnom programiranju, što je kulminiralo u članku iz 1968. "A Case against the GO TO Statement Arhivirano 2007-07-03 na Wayback Machine-u" (EWD215), koji se smatra jednim od većih koraka ka naširokom odbacivanju GOTO naredbe i njenoj zamjeni stukturiranim kontrolnim konstruktima kao što je while petlja. Ova se metodologija također zove skruktuirano programiranje. Slavni naslov ovog rada, "Go To Statement Considered Harmful", nije rad samog Dijkstre, već Niklausa Wirtha, urednika časopisa Communications of the ACM. Dijkstra je poznat kao fan ALGOL-a 60, te je usto i radio u timu koji je implementirao prvi jezični procesor za taj jezik. Dijkstra i Jaap Zonneveld, koji je također doprinjeo u jezičnom procesoru, su se dogovorili da se ne briju sve dok se projekt ne završi. Zonneveld je s vremenom obrijao bradu, dok je Dijkstra svoju zadržao sve do smrti.
Također je napisao dva važna papira 1968. koja su posvećena strukturi multiprogramiranih sustava te kooperirajućim sekvencijalnim procesima.
Od 1970-ih, Dijkstrino glavno zanimanje jest formalna verifikacija. Prevladavajuće mišljenje vremena je bilo da se prvo treba napisati program a tek potom pružiti matematički dokaz njegove ispravnosti. Dijkstra je prigovorio da su tako rezultirajući dokazi dugi i naporni, te da dokaz ne pruža nikakvi uvid u to kako je program razvijen. Alternativna metoda je izvođenje programa, kako bi se "razvili dokaz i program istovremeno". Započne se sa matematičkom specifikacijom onoga što bi program trebao obavljati, te se potom primjenjuju matematičke transformacije nad specifikacijom sve dok ona nije pretvorena u izvodivi program. Za rezultirajući se program kaže da je ispravan po konstrukciji. Većina Dijkstrinog kasnijeg rada je vezana za pospješavanje tog procesa zasnovanog na matematičkom argumentu. U intervjuu 2001. je izrazio želju za "elegancijom", pri čemu bi ispravni pristup bio mentalno obrađivanje misli, mjesto naknadnog rafiniranja sve dok nisu kompletne. Analogija se može izvesti sa skladateljskim pristupima Mozarta i Beethovena.
Dijkstra je poznat po svojim esejima o programiranju - bio je prvi koji je tvrdio da je programiranje inherentno teško i složeno te da programeri moraju ovladati svakim mogućim trikom i apstrakcijom kako bi uspješno upravljali složenošću samog procesa. Također je poznat po svojoj navadi brižno napisanih rukopisa sa naliv perom. Rukupisi se zovu EWD-ovi, s obzirom da ih je Dijkstra pobrojao sa EWD kao prefiksom. Sam bi Dijkstra širio fotokopije novih EWD-ova među kolegama, a pošto su mnogi fotokopirali i preusmjeravali svoje kopije, EWD-ovi su se proširili kroz računarsku zajednicu. Teme su mahom računarstvo i matematika, ali također uključuju i putna izvješća, pisma i govore. Više od 1300 EWD-ova je dosad skenirano, sa sve većim brojem transkribiranih kako bi se olakšala pretraga, a dostupni su i online u Dijkstrinom arhivu na Sveučilištu u Texasu:[1].
Bio je jedan od prvih pionira istraživanja raspodijeljenog računarstva. Neki čak smatraju da su njegovi radovu utemeljili cijelo polje. Posebice, njegov rad "Self-stabilizing Systems in Spite of Distributed Control" je začeo potpolje samo-stabilizacije.
Poznat je i po tome što je posjedovao svega jedno računalo (pri kraju života), te je rijetko koristio računala uopće[2], shodno svojoj osudi da je računarstvo mnogo apstraktnije od pukog programiranja, a koja je izražena u famoznoj izjavi kao "Računarstvo nije ništa više o računalima nego što je astronomija o teleskopima."[3]
Umro je u Nuenenu, Nizozemska on 6. kolovoza, 2002. nakon teške borbe sa rakom. Sljedeće je godine ACM-ova PODC nagrada za utjecajni papir (PODC Influential Paper Award) preimenovana u Dijkstrinu nagradu u njegovu čast.
Andrzej Sapkowski, poljski pisac fantastike, je rabio Dijkstrino ime kao ime jednog od glavnih likova u petoknjižnoj "Sagi" o The Hexeru.
Poznat je po kovanju popularne programerske fraze "2 or more, use a for", koja aludira na činjenicu da je u slučaju obrade više od jedne instance podatkovne strukture, potrebno enkapsulirati kontrolnu logiku u petlju.
- ↑ Online arhiv Sveučilišta u Texasu: ww.cs.utexas.edu/users/EWD/
- ↑ "Gotovo svi članci u ovoj seriji koji su se pojavili nakon 1972. su napisani rukom. S obzirom da je cijeli život izmišljao softverske tehnologije, izbjegavao je uporabu računala mnoga desetljeća. Čak i kad je podlijegao poticajima svojih kolega na teksaškom sveučilištu i dobio Macintosh računalo na korištenje, rabio ga je samo za e-mail i pregledavanje World Wide Weba." "IN MEMORIAM EDSGER WYBE DIJKSTRA"
- ↑ "IN MEMORIAM EDSGER WYBE DIJKSTRA"
- Go To Statement Considered Harmful, Communications of the ACM, Vol. 11 (1968) 147 – 148; online izdanje Arhivirano 2007-07-03 na Wayback Machine-u (EWD215)
- How do we tell truths that might hurt? (EWD498)
- From My Life (EWD166)
- A Discipline of Programming, Prentice-Hall Series in Automatic Computation, 1976, ISBN 0-13-215871-X
- Selected Writings on Computing: A Personal Perspective, Texts and Monographs in Computer Science, Springer-Verlag, 1982, ISBN 0-387-90652-5
- A Method of Programming, E.W. Dijkstra, W.H.J. Feijen, J. Sterringa, Addison Wesley 1988, ISBN 0-201-17536-3
- Biography Digidome
- Edsger Wybe Dijkstra (1930 – 2002): A Portrait of a Genius (PDF) Osmrtnica u Formal Aspects of Computing sa kratkom biografijom
- How can we explain Edsger W. Dijkstra to those who didn't know him?, autor David Gries
- Dijkstra Eulogy autor J Strother Moore
- In Memoriam Edsger Wybe Dijkstra Arhivirano 2013-06-06 na Wayback Machine-u autor Mario Szegedy
- Fotografije Edsgera Dijkstre
- Noorderlicht video intervjua
- Font Dijkstrinog rukopisa Arhivirano 2007-01-13 na Wayback Machine-u koji je napravio Luca Cardelli