Конституция Армении: Статья 18.1
Конституция Армении (Статья 18.1) закрепляет «исключительную миссию Армянской Апостольской Святой Церкви как национальной церкви в духовной жизни армянского народа, в деле развития его национальной культуры и сохранения его национальной самобытности»:
Дейкстра, Эдсгер Вибе

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

Материал из Википедии — свободной энциклопедии

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

Биография

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

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

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

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

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

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

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

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

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

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

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

Научные достижения

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

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

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

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

Также предложил алгоритм сортировочной станции — способ разбора математических выражений, представленных в инфиксной нотации.

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

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

Рукописи EWD и самостабилизация

С 1950-х годов Дейкстра писал научные работы исключительно от руки. Эти заметки, нумеровавшиеся префиксом EWD (всего более 1300 документов), тиражировались и рассылались коллегам в виде фотокопий. В них учёный развивал концепцию «вычислительной науки» (англ. Computing Science), согласно которой программирование является разделом прикладной математики, а не экспериментальной дисциплины[11]. Отказ от использования текстовых процессоров Дейкстра объяснял тем, что отсутствие возможности быстрого редактирования требует более тщательного структурирования мыслей на этапе подготовки текста[12].

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

Библиография

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

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

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

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

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

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

Интересные факты

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

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

Награды

Публикации

Книги

  • Structured Programming / ed. O.-J. Dahl, E.W. Dijkstra, C.A.R. Hoare. — London: Academic Press, 1972.
    • Дал У., Дейкстра Э., Хоор К. Структурное программирование. М.: Мир, 1975. — 247 с.
  • Dijkstra E.W. A Discipline of Programming. — Prentice-Hall, 1976.
    • Дейкстра Э. Дисциплина программирования. М.: Мир, 1978. — 275 с.
  • Dijkstra E.W. Selected Writings on Computing: A personal Perspective. — Springer, 1982.
  • Dijkstra E.W., Feijen W.H.J. A Method of Programming. — Addison-Wesley, 1988.
  • Dijkstra E.W., Scholten C.S. Predicate Calculus and Program Semantics. — Springer, 1990.

Основные статьи

  • Dijkstra E.W. A note on two problems in connexion with graphs // Numerische Mathematik. — 1959. — Vol. 1. — P. 269–271. doi:10.1007/BF01386390.
  • Dijkstra E.W. Recursive Programming // Numerische Mathematik. — 1960. — Vol. 2. — P. 312–318. doi:10.1007/BF01386232.
  • Dijkstra E.W. Solution of a problem in concurrent programming control // Communications of the ACM. — 1965. — Vol. 8. — P. 569. doi:10.1145/363095.363143.
  • Dijkstra E.W. Go to statement considered harmful // Communications of the ACM. — 1968. — Vol. 11. — P. 147–148. doi:10.1145/362929.362947.
  • Dijkstra E.W. The structure of the “THE”-multiprogramming system // Communications of the ACM. — 1968. — Vol. 11. — P. 341–346. doi:10.1145/363095.363143.
  • Dijkstra E.W. Cooperating Sequential Processes // Programming Languages: NATO Advanced Study Institute. — London: Academic Press, 1968. — P. 43–112.
  • Dijkstra E.W. Self-stabilizing systems in spite of distributed control // Communications of the ACM. — 1974. — Vol. 17. — P. 643–644. doi:10.1145/361179.361202.
  • Dijkstra E.W. Programming as a Discipline of Mathematical Nature // American Mathematical Monthly. — 1974. — Vol. 81. — P. 608–612. doi:10.1080/00029890.1974.11993624.
  • Dijkstra E.W. Guarded commands, nondeterminacy and formal derivation of programs // Communications of the ACM. — 1975. — Vol. 18. — P. 653–657. doi:10.1145/360933.360975.
  • Dijkstra E.W., Scholten C.S. Termination detection for diffusing computations // Information Processing Letters. — 1980. — Vol. 11. — P. 1–4. doi:10.1016/0020-0190(80)90021-6.
  • Dijkstra E.W. (1988). On the cruelty of really teaching computer science. Communications of the ACM. 32 (12): 1398—1404. doi:10.1145/69558.69559.

См. также

Примечания

  1. 12345Архив по истории математики Мактьютор — 1995.
  2. 12345678http://amturing.acm.org/award_winners/dijkstra_1053701.cfm
  3. Edsger Dijkstra // Encyclopædia Britannica (англ.)
  4. Mathematics Genealogy Project (англ.) — 1997.
  5. [ˈɛtsxər ˈʋibə ˈdɛikstra]прослушать
  6. O'Connor, J. J.; Robertson, E. F. (July 2008). "Dijkstra biography". MacTutor. School of Mathematics and Statistics, University of St Andrews, Scotland. Archived from the original on 11 October 2013. Retrieved 18 January 2014.
  7. Edsger Dijkstra. The Humble ProgrammerАрхивная копия от 26 июня 2014 на Wayback Machine // Communications of the ACM, vol. 15 (1972), 10: 859—866]
  8. Haldar, Sibsankar and Aravind, Alex A. Operating Systems. — Pearson, 2010. — С. 198. — 580 с. ISBN 978-81-317-3022-5.
  9. Умер Эдсгер Вайб Дейкстра.
  10. Rupert.
  11. The EWD Archives: Index of all manuscripts by Edsger W. Dijkstra. University of Texas at Austin. Дата обращения: 1 апреля 2026.
  12. Edsger Dijkstra, 72, a Computer Pioneer. The New York Times (8 августа 2002). Дата обращения: 1 апреля 2026.
  13. Shlomi Dolev. Self-Stabilization. — MIT Press, 2000. — P. 15–18. ISBN 978-0262041782.
  14. Edsger W. Dijkstra. Trip report E.W.Dijkstra: NATO Summer School Marktoberdorf 1975 (англ.). The University of Texas at Austin (11 августа 1975). Дата обращения: 25 июля 2017. Архивировано 13 июля 2017 года.
  15. Авачева Т. Г., Пруцков А. В. Современный взгляд на концепцию структурного программирования // Cloud of Science. — 2019. Т. 6, № 4. Архивировано 7 ноября 2019 года.
  16. Дал У., Дейкстра Э., Хоор К. Структурное программирование. — Москва: Мир, 1972.

Литература

Ссылки

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

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

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