Компьютинг
September 16, 2022

Антология мысли | Эдсгер Дейкстра. Программирование


• Вычислительная наука (computing science) имеет не большее отношение к компьютерам, чем астрономия — к телескопам.

• Чтобы университет был лидером, он должен предлагать то, в чём общество нуждается, а не то, что оно запрашивает.

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

• Я был поражён восприимчивостью — я бы сказал даже беззащитностью русских перед иностранным (преимущественно американским) влиянием.


• Мы являемся свидетелями массового, повсеместного распространения полного ошибок программного обеспечения, из-за чего нам должно быть очень стыдно… Мы просто не знаем, до какой степени можно всё упростить.

• Настало время сорвать маску с компьютерного сообщества — Тайного общества по созданию и сохранению искусственной сложности.

• Простота является предпосылкой надёжности.

• Простота — великое достоинство, но требуется упорный труд для её достижения и образование для её осознания. Увы, сложность продаётся лучше.

• Искусство программирования — это искусство организации сложности.


• Мы все сформированы инструментами, которые мы используем: формальные системы и языки формируют наши мыслительные привычки — хорошие или плохие. Это означает, что мы должны быть очень осторожными в выборе того, что мы изучаем и чему учим. Отучиться уже невозможно.

• Слишком мало людей понимают, что высокие технологии, которые сегодня так прославляются, по сути являются технологией математической.

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

• Прогресс возможен, только если мы научимся думать о программах не как о частях исполняемого кода.

• Тестирование программ может оказать наличие ошибок, но никогда не покажет их отсутствие.

• Если отладка — процесс удаления ошибок, то программирование должно быть процессом их внесения.

• Средства не виноваты в том, что их используют безграмотно.


• Студентов, ранее изучавших BASIC, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации.

• Программирование на COBOL калечит мозг. Поэтому обучение ему должно трактоваться как преступление.

• Помимо математической подготовки исключительно хорошее владение родным языком является самым важным активом компетентного программиста.

• Проекты, предлагающие программирование на естественном языке, гибельны по своей сути.

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


• Если есть одно «научное» открытие, которым я горжусь, то это открытие привычки писать без публикации.

• Мне уже не раз говорили, что одна из моих главных слабостей — неспособность с радостью страдать от дураков.

• Попытки использовать компьютеры для имитации человеческого разума всегда казались мне довольно глупыми. Я бы предпочел использовать их, чтобы имитировать что-то лучше.

• Наверное, я очень наивен. Но предпочитаю оставаться таким, быть может, всю оставшуюся жизнь.

• Опыт никоим образом автоматически не приводит к мудрости и пониманию.

• Бессмысленно пытаться убедить мир исправиться, пока этот мир всё ещё убежден, что он на правильном пути.



{ Эдсгер Дейкстра (Edsger Dijkstra, 1930-2002, Нидерланды) — выдающийся учёный в области компьютерных наук и технологий, лауреат Премии Тьюринга (The ACM A.M.Turing Award, 1972), аналога Нобелевской премии.

Один из создателей концепции структурного программирования (structured programming), специалист в области формальной верификации и распределённых вычислений, первый профессиональный программист.

Остроумный и беспощадный в своей иронии критик; Марк Твен компьютерного программирования. }