Edsger Dijkstra
Edsger Wybe Dijkstra [ˈɛtˌsxər 'ʋibə ˈdɛɪkˌstra] (ur. 11 maja 1930 w Rotterdamie[1], zm. 6 sierpnia 2002 w Nuenen[2]) – holenderski naukowiec, pionier informatyki.
Data i miejsce urodzenia | |
---|---|
Data i miejsce śmierci | |
Zawód, zajęcie |
naukowiec |
Zajmował się informatyką teoretyczną, ale także bardziej praktyczną, łącząc obie dziedziny[1]. Zajmował się różnymi jej aspektami, między innymi algorytmiką, językami programowania, formalną specyfikacją i weryfikacją. Jednak do dziś jest pamiętany przede wszystkim dzięki algorytmowi znajdowania najkrótszych ścieżek w grafie (znanemu jako algorytm Dijkstry) oraz problemowi ucztujących filozofów. Nie bez echa przeszły też jego opinie na temat zastąpienia instrukcji skoku innymi strukturami programistycznymi.
Życiorys
edytujJego ojciec był prezesem Duńskiego stowarzyszenia Chemicznego, a matka matematyczką[1]. Uczęszczał do gimnazjum Erasmianum w Rotterdamie, które skończył w 1948 ze zdumiewająco wysokim wynikiem[1]. Po ukończeniu szkoły średniej rozpoczął studia z fizyki teoretycznej na Uniwersytecie w Lejdzie[1]. Trzy lata później odbył trzytygodniowy kurs programowania w Cambridge[1], pod przewodnictwem Maurice'a Wilkesa. Podczas kursu poznał Adriaana van Wijngaardena , który zaoferował mu pracę w amsterdamskim Centrum Matematycznym, gdzie rozpoczął pracę tego samego roku[1].
W 1956 skończył studia w Lejdzie. Trzy lata później obronił doktorat: „Communication with an Automatic Computer”. Jego promotorem był van Wijngaarden[1].
W latach 50., Dijkstra opracował algorytm najkrótszej ścieżki w grafie. Było wtedy bardzo mało magazynów gdzie mógł opublikować artykuł. Dopiero po trzech latach opublikował go w nowo powstałym czasopiśmie „Numerische Mathematik”. Tytuł artykułu to „A Note on Two Problems in Connexion with Graphs”. Jest to jedna z najczęściej cytowanych artykułów związanych z informatyką. Jego algorytm jest m.in. używany w nawigacji GPS do obliczania najkrótszej trasy.
Dijkstra pracował w centrum Matematycznym do 1962, kiedy to przeniósł się do Eindhoven, gdzie objął stanowisko profesora na wydziale matematyki Uniwersytetu Technicznego w Eindhoven. W 1973 zredukował swój etat do jednego dnia tygodniowo, resztę czasu zajmowała mu praca badawcza w Burroughs. Jego obowiązki obejmowały pracę badawczą oraz każdego roku kilkokrotne wizyty w siedzibie firmy w Stanach Zjednoczonych[1].
Podczas swojej pracy na uniwersytecie Eindhoven, Dijkstra uczestniczył w tworzeniu systemu operacyjnego dla komputera Electrologica X8, następcę X1. System był znany jako „ang. THE multiprogramming system” (gdzie THE to skrót od Technische Hogeschool Eindhoven). Podczas pracy nad system zainteresował się programowaniem równoległym, na temat którego napisał kilka nowatorskich artykułów[1].
Był zafascynowany językiem Algol 60 i pracował nad jego pierwszym kompilatorem[1]. Jeden z pomysłów zastosowany w implementacji rekurencji stał się standardową techniką przy pisaniu kompilatorów[1].
Pod koniec lat 60. zaczął rozsyłać kserokopie swoich „raportów” na temat programowania (nazywanych EWD), których łącznie zdołał napisać ponad 1300, do naukowców w Europie i Ameryce. Raporty były pisane głównie na maszynie, początkowo w języku holenderskim, w 1972 roku zaczął pisać wyłącznie po angielsku. Pisanie tego typu raportów było powszechne w osiemnastym wieku, w dwudziestym były całkowitym anachronizmem. W 1999, były współpracownik Dijkstry z Austin, stworzył stronę internetową dla celów zachowania wszystkich dostępnych EDW[1].
W 1968, Dijkstra opublikował list adresowany do redaktora czasopisma Communications of the ACM, w którym krytykował instrukcje goto, pod tytułem „ang. Go To Statement Considered Harmful”. List był szeroko krytykowany i wywołał sporą debatę, jednak opinia Dijkstry zwyciężyła. Dzisiaj większość programistów zdaje sobie sprawę, że użycie instrukcji goto może prowadzić do tzw. kodu spaghetti. Wiele nowoczesnych języków programowania nie posiada tej instrukcji[1].
Rok później w 87-stronicowym raporcie EWD249 pt. „Notes on Structured Programming”, opisał nowy sposób programowania strukturalnego[1].
Wkład Edsgera Dijkstry w informatykę został doceniony w 1972, kiedy otrzymał Nagrodę Turinga za fundamentalny wkład w programowania jako wyzwanie intelektualne[1].
W 1974, Dijkstra opublikował dwustronicowy artykuł, którym opisał nową koncepcję samo stabilizacji . Przez wiele lat artykuł był niezauważony, aż do 1983, gdy został przywołany przez Leslie Lamporta podczas wykładu. Artykuł w końcu dostał nagrodę w 2002, która zmieniła nazwę po jego śmierci na ang. Edsger W. Dijkstra Prize in Distributed Computing[1].
W 1984, rozczarowany zmianami firmy oraz brakiem wsparcia dla informatyki na jego uczelni, Dijkstra postanowił opuścić Holandię. Objął stanowisko na Uniwersytecie Teksańskim w Austin, gdzie pracował aż do przejścia na emeryturę w 1999 roku[1].
Zmarł 6 sierpnia 2002 po długiej walce z nowotworem[1].
Zobacz też
edytujPrzypisy
edytuj- ↑ a b c d e f g h i j k l m n o p q r s Krzysztof Apt. Edsger Dijkstra The Man Who Carried Computer Science on His Shoulders. „Inference, international review of science”. 5 (3). s. 1-12. ISSN 2576-4403. [dostęp 2024-02-26]. (ang.).
- ↑ Dijkstra Edsger Wybe, [w:] Encyklopedia PWN [online], Wydawnictwo Naukowe PWN [dostęp 2023-03-19] .
Linki zewnętrzne
edytuj- E.W. Dijkstra Archive – archiwum tekstów E.W. Dijkstry
- John J. O’Connor; Edmund F. Robertson: Edsger Dijkstra w MacTutor History of Mathematics archive (ang.)
- ISNI: 000000011234890X
- VIAF: 17820452
- LCCN: n82078425
- GND: 139688641
- NDL: 00437921
- LIBRIS: ljx00xc42pszvt1
- BnF: 17209986p
- SUDOC: 059577517
- NLA: 35036226
- NKC: mub20241244486
- NTA: 069137056
- BIBSYS: 90335850
- CiNii: DA00645414
- Open Library: OL1004383A
- PLWABN: 9810705958105606
- NUKAT: n94303767
- J9U: 987007290039205171
- LNB: 000048721
- NSK: 000697868
- CONOR: 6685027