А чем Вам замечание TAU не нравится (шутка
)?
Как раз Ваш пример показывает всё то же - "когнитивная слепота" не в том, что в принципе пытаются получать граф-схему (в частности, императивную на техноязыке) по тексту. А в том, что при этом игнорируют тот факт, что эта схема уже есть представление обычно более формальное. Об этом хорошо сказал в своё время А. Куликов:
...
Многим ДРАКОН не нравится, потому что на нем трудно описать мысли запутавшегося в задаче. ДРАКОН требует искать условие, отвечать, и строить правильное ветвление логики. Но наши легионеры привыкли из логической структуры делать слипшиеся спагетти. Как же это понравится человеку, который как и всякий бурбакист, гордится, что у него ни одного геометрического чертежа, а всё получилось манипуляциями с символами. И при этом через три месяца он не может пояснить того, что же хотел сказать, когда писал этот кусок кода.
...
Ряд вещей в том же посте вызвали, скажем так, вопросы - посему пришлось разобрать здесь:
viewtopic.php?p=66483#p66483. Но вот с этим согласен.
И это как раз ещё к непренебрежимости уровнями процесса формализации/моделирования (чем у нас, как обнаружилось по любезному указанию В.Д., и академики, по-видимому, пренебрегать пытаются - см. здесь:
viewtopic.php?p=69519#p69519 )... Среди которых есть уровни информатически строгие - рассчитанные на исполнителя типа "языковая машина", деятельность которого есть алгоритмический процесс.
Конкретно - Куликов прямо указывает, что само приложение техноязыка как системы записи импер-части отчуждаемого знания, более формальной, чем естественный язык, уже выводит сочинителя на более строгую формализацию. Где надо "вытащить из текста алгоритм/систему взаимодействующих алгоритмов". А одновременно - также "вытащить" систему определений объектов (как абстрактных/"конкретных" типов). И определение исполнителя алгоритмов над объектами... Т.е., то, что у Кауфмана в Гл. 3 - абстракции операций, данных и связывания для планирования деятельности исполнителя. Образующие целостный базис. И требующие, между прочим, не игнорировать текст как разметку схемы, а наложить на него некие требования строгости, адекватные строгости, налагаемой формализованным графом как основой схемы...
А когда дело ограничивается этим:
... все это растянуть по вертикали, каждый абзац обвести в рамочку и соединить их вертикальными линиями,...
- то степень "незапутанности" начинает определяться текстом вершин (и рёбер, если предусмотрена их содержательная разметка).
И может получиться, что цель формально-графового представления, сформулированная здесь:
...
Вы не учитываете один важный фактор эволюции инженерных инструментов: для задач, которые стали обыденными, есть стремление к снижению многообразия способов выразить идею. Способов записать "простой текст из нескольких абзацев" - огромное количество (не говоря про число способов его понять).
В своих "боях" с паттернами циклами Вы игнорируете точно тот же фактор. Общая теория - это прекрасно, потом же на практике для типичных случаев целесообразно уменьшать многообразие способов выразить мысль.
- не будет по факту достигнута. Потому что многообразие способов понять граф из кусков такого текста сохранится...
У Вас, Дмитрий, в примере производящий язык для схемы - псевдокод. Т.е. адекватный по строгости. Там и алгоритм уже "вытащен", и состав объектов, и "репертуар" действий (проверять величины на равенство, делать что-нибудь и бить баклуши). Здесь многообразие уже сведено к трактовке конкретным исполнителем в конкретной ситуации действия "делать что-нибудь".
Очевидным исполнителем является человек. Если мы полагаемся на его здравый смысл - то такое многобразие допустимо. Иначе следует формализовать более строго смысл уже этого действия. Что, очевидно, приведёт к частной модели его как алгопроцесса...
В общем, сочинитель д.б. незашорен на том, чтобы просто "разнести неформальный текст по вершинам". А д.б. готов сразу идти дальше по уровням формализации. Тогда "когнитивной слепоты" не будет. И, между прочим, выявится то самое, о чём говорил Куликов - что сама попытка "разнести" у нормально мыслящего человека выявит направления уточнения представления о предмете... Между прочим, как раз через подведение его под систему тех самых паттернов. Взятых либо поодиночке, либо, если ограничиться импер-частью отчуждаемого знания - в композиции цепочек/циклов (даже без ветвлений - согласно теореме Бёма-Джакопини
). А среди одиночных паттернов ведущим будет как раз цикл Дейкстры (ну и Ваш ЦС-эквивалент, который снова использован в примере).
М.б. в силу сходного понимания Пётр Алмазов и не сделал шаг до высказанного Вами утверждения...
А указал некие условия, при коих "любитель Дракона" "демонстрирует пример когнитивной слепоты".
И тут сказанное, что:
... в таких условиях вопрос стандартизации текстовой формы техноязыка, в том числе для записи декларативных знаний, по-прежнему остается актуальным.
- важно. Тока стандартов-то д.б. семейство - как минимум из классов "родных" и "программных". Не говоря уже о том, что формы записи деклар-части - это вообще отдельный род графических языков. Описания на которых, конечно, связываются с техноязыковыми... И за ними тоже должны свои паттерны стоять... У меня были сформированы конкретные предлжения - но всегда интереснее познакомиться с конструктивом от других...