Я прихожу к выводу, что возникает настоятельная необходимость перестать подходить к программированию с точки зрения минимизации коэффициента отношения стоимости к результату. Следует осознать, что даже теперь программирование в гораздо большей степени стало интеллектуальным состязанием: искусство программирования — это умение организовать сложную систему и управлять ее бесчисленными элементами, пресекая всеми силами присущую им тенденцию к изначальному хаосу.
Эдсгер Дейкстра
Один из тех людей, с именем которых связано превращение программирования из шаманства в науку, — Эдсгер Дейкстра. Профессиональный словарь программиста полон слов, введенных или предложенных Э. В. Дейкстрой, — "дисплей", "мертвая хватка", "семафор", "программирование с минимумом операторов go to", "структурное программирование". Однако его влияние на программирование является более всепроникающим. Ценнейший вклад Дейкстры — его стиль: подход к программированию как к высокому искусству и интеллектуальному творчеству, настойчивые требования и практическая демонстрация того, что программы должны быть с самого начала правильно составлены, а не просто отлаживаться до тех пор, пока не станут правильными; ясное понимание того, какие проблемы лежат в основе программирования. Во всех своих исследованиях Дейкстра придает большое значение простоте и изяществу математических рассуждений. При написании своих работ он создал новый стиль научных и технических сообщений, который можно описать как нечто среднее между журнальными публикациями и дружеской перепиской.
Эдсгер Вайб Дейкстра родился в Роттердаме (Голландия) в 1930 году. Его родители принадлежали к интеллигенции и были хорошо образованными людьми: отец был химиком, а мать — математиком. В 1942 году в возрасте 12 лет Дейкстра поступил в гимназию Эрасминиум — школу для особо одаренных детей, где преподавался ряд разнообразных предметов, в том числе греческий, латынь, французский, немецкий и английский языки, биология, математика и химия.
В 1945 году Дейкстра подумал, что он мог бы изучать право и, возможно, работать в качестве представителя Нидерландов в ООН. Однако, вследствие его успехов в изучении химии, математики и физики, он поступил в университет Лейдена, где решил заняться теоретической физикой. В 1951 году он посещал летнюю школу по программированию в Кембриджском университете.
Вследствие длинной череды совпадений Дейкстра официально стал программистом первым весенним утром 1952 года и был первым голландцем, начавшим заниматься этим в своей стране. Он стал работать в качестве совместителя в Математическом центре в Амстердаме. После того как он прозанимался программированием где-то около трех лет, у него состоялась важная беседа с ван Вейнгаарденом, который был тогда его руководителем в Математическом центре. Дело в том, что Дейкстра параллельно изучал теоретическую физику в Лейденском университете, но совмещать эти два занятия становилось все труднее, и ему надо было сделать выбор — либо прекратить программировать и стать настоящим физиком, либо стать… кем же? Программистом? Но разве это респектабельная профессия? Однажды Дейкстра постучал в дверь кабинета ван Вейнгаардена и, когда, несколько часов спустя, покидал его кабинет, он чувствовал себя абсолютно другим человеком. Терпеливо выслушав, что беспокоит Дейкстра, ван Вейнгаардена согласился, что в настоящее время есть не так уж много вещей, которые можно было бы отнести к дисциплине программирования, но затем он спокойно продолжал объяснять, что автоматические вычисления машины — не кратковременная мода, за ними будущее, что мы находимся у самых истоков и — как знать? — может быть, именно Дейкстра призван превратить программирование в почетную научную дисциплину. Это был поворотный момент всей жизни Эдсгера Дейкстра, и он как можно быстрее прошел все курсы, требующиеся для получения диплома в области теоретической физики, и начал заниматься программированием.