Страницы

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

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

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

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

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

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

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

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

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

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