Эдсгер Вибе Дейкстра
(Отмена правки 1031034, сделанной участником Анастасия Козлова (обс.)) |
|||
Строка 1: | Строка 1: | ||
− | {{Учёный | + | {{Учёный ] |
|Имя = Эдсгер Вибе Дейкстра | |Имя = Эдсгер Вибе Дейкстра | ||
|Оригинал имени = Edsger Wybe Dijkstra | |Оригинал имени = Edsger Wybe Dijkstra | ||
− | |Изображение = 450px-Edsger_Wybe_Dijkstra.jpg | + | |Изображение = [[Файл:450px-Edsger_Wybe_Dijkstra.jpg]] |
|Ширина = | |Ширина = | ||
|Описание изображения = | |Описание изображения = |
Версия 12:34, 26 января 2013
{{Учёный ]
|Имя = Эдсгер Вибе Дейкстра
|Оригинал имени = Edsger Wybe Dijkstra
|Изображение = Файл:450px-Edsger Wybe Dijkstra.jpg
|Ширина =
|Описание изображения =
|Дата рождения = 11.05.1930
|Место рождения = Шаблон:МестоРождения (Нидерланды)
|Дата смерти = 6.08.2002
|Место смерти = Шаблон:МестоСмерти (Нидерланды)
|Гражданство =
|Научная сфера = информатика
|Место работы = Национальный исследовательский институт математики и информатики
Технический Университет Эйндховена
Техасский университет в Остине
|Альма-матер =
|Научный руководитель =
|Знаменитые ученики =
|Известен как = создатель алгоритма Дейкстры и семафоров
один из основателей структурного программирования
один из создателей операционной системы THE
|Известна как =
|Награды и премии = Премия Тьюринга
}}
Э́дсгер Ви́бе Де́йкстра 11 мая 1930, Роттердам Нидерланды — 6 августа 2002, Нуенен, Нидерланды) — нидерландский учёный, идеи которого оказали влияние на развитие компьютерной индустрии.
Содержание |
Биография
Родился 11 мая 1930 года в Роттердаме, в семье учёных (отец — химик, мать — математик). По окончании школы поступил на факультет теоретической физики Лейденского университета. В 1951 году увлёкся программированием, поступил на трёхнедельные компьютерные курсы в Кембридже, с 1952 года работал программистом в Математическом центре Амстердама под руководством профессора Адриана ван Вейнгаардена, впоследствии — автора одного из способов формального описания грамматики формальных языков — так называемых двухуровневых грамматик Ван Вейнгаардена. Уже в 1952 году принял решение окончательно специализироваться на программировании, но курс теоретической физики закончил. В 1956 году принял участие в разработке ЭВМ X1.Шаблон:Нет АИ Эта машина была создана тремя энтузиастами за год. Именно для оптимизации разводки плат для X1 был придуман алгоритм поиска кратчайшего пути на графе, известный как «алгоритм Дейкстры».
В 1957 году Дейкстра женился. Как вспоминал он сам, в графе «профессия» анкеты, которую положено заполнять при бракосочетании, он написал «программист» — и его заставили переписывать документы, заявив, что такой профессии не существует. В результате, как писал Дейкстра: «Хотите — верьте, хотите — нет, но в графе „профессия“ моего свидетельства о браке значится забавная запись „физик-теоретик“!»<ref name="smprog">Смиренный программист. EWD340</ref>.
В 1958—1960 годах принимал участие в разработке языка программирования Алгол, в 1960-х — участвовал в создании операционной системы Шаблон:Не переведено, построенной в виде множества параллельно исполняющихся взаимодействующих процессов<ref>Шаблон:Книга</ref>. Именно в процессе этой работы появились понятия синхронизации процессов, идея семафора, а также была чётко осознана необходимость в структуризации процесса программирования и самих программ.
Длительное время работал в компании Шаблон:Не переведено 2. В 1970-е годы вместе с Тони Хоаром и Никлаусом Виртом разработал основные положения структурного программирования.
В последние годы жизни преподавал в США, в Техасском университете. Умер 6 августа 2002 года.
Научные достижения
Известность Дейкстре принесли его работы в области применения математической логики при разработке компьютерных программ. Он активно участвовал в разработке языка программирования Алгол и написал первый компилятор Алгол-60. Будучи одним из авторов концепции структурного программирования, он «проповедовал» отказ от использования инструкции GOTO. Также ему принадлежит идея применения «семафоров» для синхронизации процессов в многозадачных системах и алгоритм нахождения кратчайшего пути на ориентированном графе с неотрицательными весами рёбер, известный как Алгоритм Дейкстры. В 1972 году Дейкстра стал лауреатом премии Тьюринга.
Литературные труды
Дейкстра был активным писателем, его перу (он предпочитал авторучку клавиатуре) принадлежит множество книг и статей, самыми известными из которых являются книги «Дисциплина программирования» и «Заметки по структурному программированию», и статья «О вреде оператора GOTO» (GOTO considered harmful) — классические книги по теории структурного программирования.
Помимо обсуждения специальных вопросов, в своих статьях и книгах Дейкстра последовательно отстаивал необходимость математического подхода к программированию, который предполагает предварительное точное, всестороннее математическое описание задачи и способа её решения, формальное доказательство правильности выбранного алгоритма и последующую реализацию алгоритма в виде максимально простой, структурированной программы, корректность которой должна быть формально доказана. По мнению Дейкстры, господствующий в компьютерной индустрии подход к программированию как к процессу достижения результата методом проб и ошибок («написать код — протестировать — найти ошибки — исправить — протестировать — …») порочен, поскольку стимулирует программистов не думать над задачей, а писать код, при этом совершенно не гарантирует корректность программ, которая не может быть доказана тестированием в принципе.
Дейкстра многократно предостерегал от попыток превратить разработку программ в некий тривиальный процесс; по его мнению, программирование, в сути своей — чрезвычайно сложная научная и инженерная деятельность, и никакие новые методы и инструменты не смогут кардинально изменить это положение — они лишь освобождают программиста от части рутинной работы. Попытки же превратить программирование в простое занятие, доступное каждому, обречены на провал.
Влияние
Дейкстра также приобрёл немалую известность за пределами академических кругов благодаря своим резким и афористичным высказываниям по актуальным проблемам компьютерной индустрии. Вот некоторые из его афоризмов:
- Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации (по этому вопросу см. статью про оператор GOTO).
- Вопрос «умеет ли компьютер думать» имеет не больше смысла, чем вопрос «умеет ли подводная лодка плавать».
- Проекты, предлагающие программирование на естественном языке, гибельны по своей сути.
- Когда советское правительство приняло решение о переходе советской промышленности к копированию модельного ряда IBM/360, Дейкстра (работавший в то время в конкурировавшей с IBM фирме Burroughs) назвал это решение величайшей победой Запада в холодной войне, а выбранную для клонирования модель IBM/360 (прообраз советской ЕС ЭВМ) — величайшей диверсией Запада против СССР.
Литература
Примечания
Ссылки
- Премия Дейкстры за выдающиеся работы в области распределенных вычислений
- Фотографии
- Переводы статей Дейкстры
- Доводы против оператора Goto
- GOTO Considered Harmful Шаблон:Ref-en
- E. W. Dijkstra Archive Шаблон:Ref-en
- Книги на русском языке
- Взаимодействие последовательных процессов