Едсгер Вібе Дейкстра

/Files/images/nformatiki/Edsger_Wybe_Dijkstra.jpg

(1930 - 2002)

Едсгер Вібе Дейкстра (нідерл. Edsger Wybe Dijkstra; 11 травня 1930, Роттердам (Нідерланди) - 6 серпня 2002) - видатний нідерландський вчений, ідеї якого зробили величезний вплив на розвиток комп'ютерної індустрії. Народився 11 травня 1930 року в Роттердамі, в сім'ї вчених (батько - хімік, мати - математик).

Після закінчення школи вступив на факультет теоретичної фізики Лейденського університету. У 1951 році захопився програмуванням, вступив на тритижневі комп'ютерні курси в Кембріджі, з 1952 року працював програмістом в Математичному центрі Амстердама під керівництвом професора Ван Вейнгаардена (згодом - автора одного із способів формального опису граматики формальних мов - так званих дворівневих граматик Ван Вейнгаардена).

Вже в 1952 році прийняв рішення остаточно спеціалізуватися на програмуванні, але курс теоретичної фізики закінчив. У 1956 році взяв участь у розробці ЕОМ X1. Ця машина була створена трьома ентузіастами за рік. Саме для оптимізації розводки плат для X1 був придуманий алгоритм пошуку найкоротшого шляху на графі, відомий як «алгоритм Дейкстри».У 1957 році Дейкстра одружився. Як згадував він сам, у графі «професія» анкети, яку покладено заповнювати при одруженні, він написав «програміст» - і його змусили переписувати документи, заявивши, що такої професії не існує. В результаті, як писав Дейкстра: «Хочете - вірте, хочете - ні, але в графі" професія "мого свідоцтва про шлюб значиться кумедна запис" фізик-теоретик "!».У 1958-1960 роках брав участь у розробці мови програмування Алгол, в 1960-х - брав участь у створенні операційної системи THE (англ.) - першої операційної системи, побудованої у вигляді безлічі паралельно виконуються взаємодіючих процесів.

Саме в процесі цієї роботи з'явилися поняття синхронізації процесів, ідея семафора, а також була чітко усвідомлена необхідність у структуризації процесу програмування і самих програм.

Тривалий час працював у фірмі Burroughs Corporation. У 1970-і роки разом з Чарльзом Хоаром і Никлаусом Віртом розробив основні положення стала класикою методології розробки програм - структурного програмування.

В останні роки життя викладав в США, в Техаському університеті. Помер 6 серпня 2002 року.

Популярність Дейкстри принесли його роботи в області застосування математичної логіки при розробці комп'ютерних програм. Він активно брав участь у розробці мови програмування Алгол і написав перший компілятор Алгол-60. Будучи одним з авторів концепції структурного програмування, він проповідував відмову від використання інструкції GOTO.

Також йому належить ідея застосування «семафорів» для синхронізації процесів в багатозадачних системах і алгоритм знаходження найкоротшого шляху на орієнтованому графі з невід'ємними вагами ребер, відомий як Алгоритм Дейкстри. У 1972 році Дейкстра став лауреатом премії Тьюринга.

Дейкстра був активним письменником, його перу (він вважав за краще авторучку клавіатурі) належить безліч книг і статей, найвідомішими з яких є книги «Дисципліна програмування» та «Нотатки по структурному програмуванню», і стаття «Про шкоду оператора GOTO» (GOTO considered harmful) - класичні книги з теорії структурного програмування.
Крім обговорення спеціальних питань, у своїх статтях і книгах Дейкстра послідовно відстоював необхідність математичного підходу до програмування, який передбачає попереднє точне, всебічне математичний опис завдання та способи її вирішення, формальний доказ правильності обраного алгоритму і подальшу реалізацію алгоритму у вигляді максимально простою, структурованої програми, коректність якої повинна бути формально доведена.

На думку Дейкстри, панівний у комп'ютерній індустрії підхід до програмування як до процесу досягнення результату методом проб і помилок («написати код - протестувати - знайти помилки - виправити - протестувати - ...«) порочний, оскільки стимулює програмістів не думати над завданням, а писати код , при цьому зовсім не гарантує коректність програм, яка не може бути доведена тестуванням в принципі.

Дейкстра багаторазово застерігав від спроб перетворити розробку програм в якийсь тривіальний процес; на його думку, програмування, в суті своїй - надзвичайно складна наукова і інженерна діяльність, і ніякі нові методи й інструменти не зможуть кардинально змінити це становище - вони лише звільняють програміста від частини рутинної роботи. Спроби ж перетворити програмування в просте заняття, доступне кожному, приречені на провал.
Дейкстра також придбав чималу популярність за межами академічних кіл завдяки своїм різким і афористичним висловлювань з актуальних проблем комп'ютерної індустрії.

Кiлькiсть переглядiв: 1012