12 января 2010

Брукс о блок-схемах

Ф. Брукс в известной книге, изданной в 1975 г. пишет: «...Подробная пошаговая блок-схема является досадным анахронизмом, пригодным только для новичков в алгоритмическом мышлении. Введенные Голдштайном и фон Нейманом прямоугольники вместе со своим содержимым служили языком высокого уровня, объединяя непостижимые операторы машинного языка в осмысленные группы. Как давно понял Иверсон, в систематическом языке высокого уровня группировка уже проведена, и каждый прямоугольник содержит оператор. Поэтому сами прямоугольники являются утомительным и отнимающим место упражнением в черчении и вполне могут быть удалены...»
Когда я заканчивал университет (около 10 лет назад), единственно допустимым видом графического представления информации об алгоритмах были блок-схемы (в соответствии с ГОСТ 19.701-90, основанном на стандарте ISO 5807-85). На сколько я знаю, на сегодня ситуация остается прежней. На то время, блок-схемы не позволяли показать все тонкости реализации. Гораздо полезнее было бы использовать UML, но для него пока не существует ГОСТа или ДСТУ, позволяющего включать включать подобные диаграммы в конструкторскую документацию.
У того же Брукса: «...Апостол Петр сказал о новообращенных язычниках и законе Моисея: "Что же вы [желаете] возложить на выи учеников иго, которого не могли понести ни отцы наши, ни мы?" (Деяния апостолов 15:10). То же сказал бы я о программистах-новичках и устаревшей практике блок-схем...»

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