Boroda aka Hamster (fantaseour) wrote,
Boroda aka Hamster
fantaseour

Дейкстра, Смиренный программист

Вот сколько вспоминаю эту статью, все хочу на нее поставить ссылку в журнале :)
Ставлю.

В те времена сложилось два мнения о программировании. Я упомяну о них сейчас и вернусь к ним позже. Одно мнение - действительно компетентный программист должен обладать парадоксальным мышлением и обожать заумные трюки; второе - программирование представляет собой не более чем оптимизацию эффективности вычислительного процесса в том или ином направлении.

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

Вот второстепенная причина: в одном-двух аспектах современные компьютеры значительно сложнее содержать, чем старые. Во-первых, мы получили прерывания ввода/вывода, происходящие в непредсказуемые и невоспроизводимые моменты времени; в сравнении со старыми последовательными машинами, которые прикидывались полностью детерминированными автоматами, это разительное изменение, и преждевременная седина многих системных программистов служит свидетельством тому, что нам не стоит легкомысленно отзываться о логических проблемах, порожденных этой возможностью. Во-вторых, мы получили машины, оборудованные многоуровневыми запоминающими устройствами, что ставит перед нами проблемы стратегии управления ею, которые, несмотря на обилие литературы по этому предмету, остаются весьма скользкими. Слишком дорогая плата за возрастание сложности, обусловленное изменениями в структуре современных машин.

...

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

Полностью»
Первоисточник тут http://club.shelek.com/viewart.php?id=155, но форматирование текста там ужасное совершенно.

Tags: computer history, development, tech
Subscribe
  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments