Открыть главное меню

Дейкстра, Эдсгер Вибе

(перенаправлено с «Эдсгер Дейкстра»)

Э́дсгер Ви́бе Де́йкстра (нидерл. Edsger Wybe Dijkstra[5] (11 мая 1930, Роттердам, Нидерланды — 6 августа 2002, Нюэнен[nl], Нидерланды) — нидерландский учёный, труды которого оказали влияние на развитие информатики и информационных технологий; один из разработчиков концепции структурного программирования, исследователь формальной верификации и распределённых вычислений. Тьюринговский лауреат (1972).

Эдсгер Вибе Дейкстра
Edsger Wybe Dijkstra
Edsger Wybe Dijkstra.jpg
Дата рождения 11 мая 1930(1930-05-11)[1][2][…]
Место рождения
Дата смерти 6 августа 2002(2002-08-06)[1][2][…] (72 года)
Место смерти
Страна
Научная сфера информатика
Место работы Национальный исследовательский институт математики и информатики
Технический университет Эйндховена
Техасский университет в Остине
Альма-матер
Научный руководитель Ван Вейнгаарден, Адриан[4]
Известен как

создатель алгоритма Дейкстры и семафоров
один из основателей структурного программирования

один из создателей операционной системы THE
Награды и премии Премия Тьюринга
Логотип Викицитатника Цитаты в Викицитатнике
Commons-logo.svg Медиафайлы на Викискладе

БиографияПравить

Родился 11 мая 1930 года в Роттердаме, в семье учёных (отец — химик, мать — математик).

По окончании школы поступил на факультет теоретической физики Лейденского университета.

В 1951 году увлёкся программированием, поступил на трёхнедельные компьютерные курсы в Кембридже, с 1952 года работал программистом в Математическом центре Амстердама под руководством профессора Адриана ван Вейнгаардена, впоследствии — автора одного из способов формального описания грамматики формальных языков — так называемых двухуровневых грамматик ван Вейнгаардена.

Уже в 1952 году принял решение окончательно специализироваться на программировании, но всё же окончил курс теоретической физики.

Во второй половине 1950-х годов в поисках путей оптимизации разводки плат[источник не указан 2066 дней] разработал алгоритм поиска кратчайшего пути на графе, ставший известным как «алгоритм Дейкстры».

В 1957 году женился, по собственным воспоминаниям, в графе «профессия» анкеты, которую положено заполнять при бракосочетании, написал «программист» — и его заставили переписывать документы, заявив, что такой профессии не существует, в результате пришлось указать «физик-теоретик»[6].

В 1958—1960 годах принимал участие в разработке языка программирования Алгол, работал в команде по созданию компилятора языка; соревнуясь с датской командой Петера Наура, поклялся не бриться до завершения проекта и победил, написав компилятор за шесть недель, заодно изобретя новое правило компиляции — «вызов по имени».

В 1960-е годы участвовал в создании операционной системы THE, построенной в виде множества параллельно исполняющихся взаимодействующих процессов[7]. Именно в ходе этой работы появились понятия синхронизации процессов, идея семафора, а также была чётко осознана необходимость в структуризации процесса программирования и самих программ.

Длительное время работал в компании Burroughs. В 1970-е годы вместе с Тони Хоаром и Никлаусом Виртом разработал основные положения структурного программирования.

В последние годы жизни преподавал в Техасском университете.

Умер 6 августа 2002 года после долгой борьбы с раком[8][9].

Научные достиженияПравить

Известность Дейкстре принесли его работы в области применения математической логики при разработке компьютерных программ.

Он активно участвовал в разработке языка программирования Алгол и написал первый компилятор Алгол-60.

Будучи одним из авторов концепции структурного программирования, он проповедовал отказ от использования инструкции GOTO.

Также ему принадлежит идея применения «семафоров» для синхронизации процессов в многозадачных системах и алгоритм нахождения кратчайшего пути на ориентированном графе с неотрицательными весами рёбер, известный как алгоритм Дейкстры.

В 1972 году стал лауреатом премии Тьюринга.

В 2002 году получил ежегодную премию, вручаемую Симпозиумом по принципам распределённых вычислений (англ. Symposium on Principles of Distributed Computing) Ассоциации вычислительной техники «за публикацию, оказавшую наибольшее влияние на область распределённых вычислений»; в знак признания заслуг учёного с 2003 года эта премия носит название премии Дейкстры.

БиблиографияПравить

Автор нескольких книг и множества статей, самые известные публикации — книги «Дисциплина программирования», «Заметки по структурному программированию», статья «О вреде оператора GOTO» (англ. GOTO considered harmful).

Помимо обсуждения специальных вопросов, в своих статьях и книгах Дейкстра последовательно отстаивал необходимость математического подхода к программированию, который предполагает предварительное точное, всестороннее математическое описание задачи и способа её решения, формальное доказательство правильности выбранного алгоритма и последующую реализацию алгоритма в виде максимально простой, структурированной программы, корректность которой должна быть формально доказана.

По мнению Дейкстры, господствующий в компьютерной индустрии подход к программированию как к процессу достижения результата методом проб и ошибок («написать код — протестировать — найти ошибки — исправить — протестировать — …») порочен, поскольку стимулирует программистов не думать над задачей, а писать код, что при этом совершенно не гарантирует корректность программ, которая не может быть доказана тестированием в принципе.

Многократно предостерегал от попыток превратить разработку программ в некий тривиальный процесс; по его мнению, программирование в сути своей — чрезвычайно сложная научная и инженерная деятельность, и никакие новые методы и инструменты не смогут кардинально изменить это положение — они лишь освобождают программиста от части рутинной работы. Попытки же превратить программирование в простое занятие, доступное каждому, обречены на провал.

В 1975 году на примере положения дел в Германии Дейкстра показал, что развитие программирования как науки, опираясь на один выбранный язык программирования, невозможно.

Результатом такого подхода стал полный разрыв теории и практики программирования. Дейкстра отмечал, что принятие в Германии на правительственном уровне языка ALGOL 68 в качестве фундаментального средства дальнейшего развития имело столь же парализующее действие, как и решение правительства СССР о переходе советской промышленности к копированию модельного ряда IBM/360 в конце 1960 годов, которое учёный назвал величайшей победой Запада в холодной войне[10].

Интересные фактыПравить

Интересные факты о Дейкстре:[11]

  1. Свои статьи Дейкстра нумеровал EWD0, EWD1, EWD2 и т. д.
  2. Факт о Дейкстре: «Известно, что он мало заинтересован в приеме на старшие курсы университета, где он преподает, студентов со знанием Фортрана по той причине, что вместе с этими знаниями могли привиться дурные привычки программирования».
  3. Еще одна цитата из Дейкстры[12]: «Изящество, ясность и тому подобное в значительной степени определяются количественными аспектами. (Этим владел Моцарт: многие его произведения, от которых замирает дыхание, обманчиво просты; кажется, будто они созданы практически из ничего!)»

НаградыПравить

См. такжеПравить

ПримечанияПравить

  1. 1 2 3 Немецкая национальная библиотека, Берлинская государственная библиотека, Баварская государственная библиотека и др. Record #139688641 // Общий нормативный контроль (GND) — 2012—2016.
  2. 1 2 3 4 5 6 7 8 http://amturing.acm.org/award_winners/dijkstra_1053701.cfm
  3. 1 2 Архив по истории математики Мактьютор
  4. Математическая генеалогия — 1997.
  5. [ˈɛtsxər ˈʋibə ˈdɛikstra] прослушать
  6. Edsger Dijkstra. The Humble Programmer // Communications of the ACM, vol. 15 (1972), 10: 859—866]
  7. Haldar, Sibsankar and Aravind, Alex A. Operating Systems. — Pearson, 2010. — С. 198. — 580 с. — ISBN 978-81-317-3022-5.
  8. Умер Эдсгер Вайб Дейкстра.
  9. Rupert.
  10. Edsger W. Dijkstra. Trip report E.W.Dijkstra: NATO Summer School Marktoberdorf 1975 (англ.). The University of Texas at Austin (11 August 1975). Дата обращения 25 июля 2017.
  11. Авачева Т. Г., Пруцков А. В. Современный взгляд на концепцию структурного программирования // Cloud of Science. — 2019. — Т. 6, № 4.
  12. Дал У., Дейкстра Э., Хоор К. Структурное программирование. — Москва: Мир, 1972.

ЛитератураПравить

  • Дейкстра Э. Дисциплина программирования = A discipline of programming. — 1-е изд. — М.: Мир, 1978. — 275 с.
  • Дал У., Дейкстра Э., Хоор К. Структурное программирование = Structured Programming. — 1-е изд. — М.: Мир, 1975. — 247 с.
  • Умер Эдсгер Вайб Дейкстра (8 августа 2002). Дата обращения 27 сентября 2013.
  • Goodwins, Rupert. Computer science pioneer Dijkstra dies (8 августа 2002). Дата обращения 27 сентября 2013.

СсылкиПравить