Страницы

Одна из ошибок противников структурного программирования

Некоторые противники строго структурного программирования представляют себе его неправильно. Они полагают, что структурный код создаётся в два шага:

  1. сначала алгоритм создаётся «нормально» (то есть, как придётся)
  2. а затем придумывается, как устранить из него нарушения структурности

Разумеется, устранение нарушений требует дополнительных усилий, может сопровождаться ошибками, и может приводить к странному коду, который не столько устраняет нарушения структурности, сколько описывает их с помощью структурных операторов, что всегда возможно за счёт алгоритимической полноты [0], в тоже время не давая никаких преимуществ в сравнении с исходным неструктурным кодом и только больше запутывая его.

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

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

Это можно сравнить с культурной речью. Если она лежит в основе общения человека, то её поддержание, когда она необходима, будет являться не подвигом, а рутиной. Если же человек привык через слово вставлять слова-паразиты, то культурная речь будет для него крайне затратной, и представляться чем-то противоестественным, а в крайних случаях оказаться и невозможной.



[0] Примеры точного воспроизведения неструктурного программирования с помощью струтурных операторов есть в заметке Структурное программирование не про запрет GOTO

Комментариев нет:

Отправить комментарий