Edsger Wiebe Dijkstra | |
---|---|
Edsger Wybe Dijkstra | |
Födelsedatum | 11 maj 1930 [1] [2] [3] […] |
Födelseort | |
Dödsdatum | 6 augusti 2002 [1] [2] [3] […] (72 år) |
En plats för döden |
|
Land | |
Vetenskaplig sfär | Informatik |
Arbetsplats |
National Research Institute for Mathematics and Computer Science Eindhoven University of Technology University of Texas i Austin |
Alma mater | |
vetenskaplig rådgivare | Adrian van Wiingaarden [5] |
Känd som |
skapare av Dijkstras algoritm och semaforer |
Utmärkelser och priser | Turing Award |
![]() | |
Mediafiler på Wikimedia Commons |
Edsger Wiebe Dijkstra ( holländska. Edsger Wybe Dijkstra [6] ( 11 maj 1930 , Rotterdam , Nederländerna - 6 augusti 2002 , Nuenen , Nederländerna ) är en nederländsk vetenskapsman vars verk påverkade utvecklingen av datavetenskap och information teknologi , ett av utvecklarnas koncept för strukturerad programmering , forskare inom formell verifiering och distribuerad datoranvändning Turing Laureate (1972) .
Född 11 maj 1930 i Rotterdam , i en familj av vetenskapsmän (far är kemist , mamma är matematiker ).
Efter att ha lämnat skolan gick han in på fakulteten för teoretisk fysik vid universitetet i Leiden .
1951 blev han intresserad av programmering , gick in på en treveckors datorkurs vid Cambridge , sedan 1952 arbetade han som programmerare vid Amsterdam Mathematical Center under ledning av professor Adrian van Wiingaarden , senare - författaren till ett av sätten att formellt beskriva grammatiken i formella språk - de så kallade tvånivås van Wiingaarden- grammatikerna .
Redan 1952 bestämde han sig för att äntligen specialisera sig på programmering, men fullföljde ändå en kurs i teoretisk fysik.
Under andra hälften av 1950-talet, på jakt efter sätt att optimera tavlans layout utvecklade en algoritm för att hitta den kortaste vägen på en graf, som blev känd som " Dijkstras algoritm ".
1957 gifte han sig, enligt sina egna minnen, i kolumnen "yrke" i frågeformuläret, som är tänkt att fyllas i vid äktenskapet, skrev han "programmerare" - och han tvingades skriva om dokument och sa att en sådan yrket inte existerar, som ett resultat var han tvungen att ange "teoretisk fysiker" [7] .
1958-1960 deltog han i utvecklingen av programmeringsspråket Algol , arbetade i teamet för att skapa en språkkompilator ; När han tävlade med det danska laget av Peter Naur , lovade han att inte raka sig förrän projektet var färdigt och vann genom att skriva en kompilator om sex veckor, samtidigt som han uppfann en ny kompileringsregel - "call by name".
På 1960-talet deltog han i skapandet av operativsystemet THE , byggt som en uppsättning parallellt exekverande interagerande processer [8] . Det var under loppet av detta arbete som begreppen processsynkronisering , idén om en semafor dök upp , och behovet av att strukturera programmeringsprocessen och själva programmen var tydligt erkända.
Han arbetade för Burroughs under en lång tid . På 1970-talet utvecklade han grunderna för strukturerad programmering tillsammans med Tony Hoare och Niklaus Wirth .
Under de sista åren av sitt liv undervisade han vid University of Texas .
Han dog den 6 augusti 2002 efter en lång kamp mot cancer [9] [10] .
Dijkstra är känd för sitt arbete med tillämpning av matematisk logik i utvecklingen av datorprogram.
Han deltog aktivt i utvecklingen av programmeringsspråket Algol och skrev den första Algol-60-kompilatorn.
Eftersom han var en av författarna till begreppet strukturerad programmering , förespråkade han förkastandet av användningen av GOTO- instruktionen .
Han äger också idén om att använda " semaforer " för att synkronisera processer i multitasking-system och algoritmen för att hitta den kortaste vägen på en riktad graf med icke-negativa kantvikter, känd som Dijkstras algoritm .
Han föreslog också en rangergårdsalgoritm - ett sätt att analysera matematiska uttryck som presenteras i infixnotation .
1972 vann han Turingpriset .
År 2002 mottog han det årliga priset som ges av Symposium on Principles of Distributed Computing av Association for Computing Machinery "för den publikation som har haft störst inverkan på området för distribuerad datoranvändning"; som ett erkännande av vetenskapsmannens förtjänster har detta pris sedan 2003 kallats Dijkstra-priset .
Författaren till flera böcker och många artiklar, de mest kända publikationerna är böckerna "Programmeringsdisciplin", "Anteckningar om strukturerad programmering", artikeln "Om farorna med GOTO-operatören" ( eng. GOTO anses vara skadlig ).
Förutom att diskutera speciella frågor, i sina artiklar och böcker, försvarade Dijkstra konsekvent behovet av ett matematiskt förhållningssätt till programmering, vilket innebär en preliminär korrekt, heltäckande matematisk beskrivning av problemet och en metod för att lösa det, ett formellt bevis på riktigheten av den valda algoritmen, och den efterföljande implementeringen av algoritmen i form av det enklaste, strukturerade programmet, vars riktighet formellt måste bevisas.
Enligt Dijkstra är det rådande tillvägagångssättet i datorbranschen för programmering som en process för att uppnå ett resultat genom försök och fel ("skriva kod - testa - hitta fel - fixa - testa - ..."), eftersom det uppmuntrar programmerare inte att tänka på uppgiften, utan att skriva kod , som samtidigt inte garanterar korrektheten av program, vilket inte kan bevisas genom att testa i princip.
Varnade upprepade gånger för att försöka göra mjukvaruutveckling till en trivial process; enligt hans åsikt är programmering i grunden en extremt komplex vetenskaplig och ingenjörsverksamhet, och inga nya metoder och verktyg kan radikalt förändra denna situation - de frigör bara programmeraren från en del av rutinarbetet. Försök att göra programmering till en enkel aktivitet tillgänglig för alla är dömda att misslyckas.
År 1975 visade Dijkstra, med exemplet med läget i Tyskland, att utvecklingen av programmering som en vetenskap, baserad på ett valt programmeringsspråk, är omöjlig.
Resultatet av detta tillvägagångssätt var en fullständig klyfta mellan teori och praktik för programmering. Dijkstra noterade att antagandet i Tyskland på regeringsnivå av ALGOL 68- språket som ett grundläggande verktyg för vidareutveckling hade samma förlamande effekt som Sovjetunionens regerings beslut om övergången av den sovjetiska industrin till att kopiera IBM / 360- modellerna i det sena 1960-talet, som vetenskapsmannen kallade västvärldens största seger i det kalla kriget [11] .
Intressanta fakta om Dijkstra: [12]
av Turingpriset | Vinnare|
---|---|
|
Mjukvaruutveckling | |
---|---|
Bearbeta | |
Koncept på hög nivå | |
Vägbeskrivning |
|
Utvecklingsmetoder _ | |
Modeller |
|
Anmärkningsvärda siffror |
|
![]() | ||||
---|---|---|---|---|
Ordböcker och uppslagsverk | ||||
Släktforskning och nekropol | ||||
|