Владимир Паронджанов писал(а):
Абстракция управляющих конструкций и язык ДРАКОН.
Методологический разрыв Пышкин Е. В. Структурное проектирование: основание и развитие методов. С примерами на языке C++: Учеб. пособие. — СПб.: Политехнический университет, 2005. — 324 с. — ISBN 5-7422-1000-0 Е. В. Пышкин о языке ДРАКОН:
http://kspt.ftk.spbstu.ru/media/files/p ... xcerpt.pdf Цитата:
7.2. Визуальный язык ДРАКОН
Интересным средством, нацеленным на визуализацию структурно-императивного проектирования, является язык ДРАКОН (Дружелюбный Русский Язык, Который Обеспечивает Наглядность) и соответствующая теория [Паронджанов, 1999].
..................
..................
Методы проектирования, ориентированные на ДРАКОН-схемы, позволяют преодолеть алгоритмическую сложность.
Вопрос о преодолении структурной сложности ПО и сложности построения хороших абстракций данных предметной области остается открытым.
Последний вопрос представляет самостоятельный интерес для обсуждения:
проблема визуализации данных на блок-схемах алгоритмов (и программ).
Это большая перспектива для Дракон-методологии:
от нее навряд ли следует уходить.
Здесь есть два аспекта:
1) Данные в традиционном понимании как
информационные данные алгоритмов и программ ЭВМ.
2) Обобщенные данные, включая
материальные данные алгоритмов управления материальными процессами (и управляющих программ технического оборудования):
управления продвижением, манипулированием, обработкой, хранением и т.п.
материальных объектов и потоков.
Во втором случае этот вопрос целесообразно рассматривать в рамках
обобщенных автоматизированных систем - в полном диапазоне по степени автоматизации:
от нуля - "ручные" системы, например, переноска больного на носилках двумя санитарами,
и выше,
вплоть до единицы, например переноска больного (раненого) на носилках двумя (военными) роботами-санитарами.
Пример такой потребности:
медики уже сами рисуют такие материальные данные дракон-алгоритмов.
Это следует из фильма с участием В.А. Паронджанова,
в котором фигурирует книга из дружественной нам медицинской Прибалтики.
Правда картинку нам не показали, а
очень хотелось бы увидеть,
как надо правильно переносить больных на носилках по дракон-алгоритму.
Другое дело - как обеспечить систематическое расширение визуализации,
не ломая уже сложившейся визуальной дракон-методологии.
Вот в чем вопрос.
Цитата:
Определенное неудобство представляет также использование новой терминологии вместо устоявшихся наименований, например,
«вопрос» вместо общеупотребительного «условие»,
«шампур» вместо «основная ветвь программы»,
«вставка» вместо «предопределенный процесс» или «подпрограмма» и т. д.,
хотя, разумеется, это не является определяющим фактором.
Это неудобства с непривычки, которую целесообразно целенаправленно преодолевать:
дополнительной информацией к определениям, к токовому словарю и т.п.
Например:
1)
«вопрос» вместо общеупотребительного «условие»:
"вопрос" - это хорошее смысловое уточнение к термину "условие",
поскольку это вопросительное (проверочное) логическое условие, а не директивное условие.
И не случайно часто в ромбиках логических условий часто ставится обозначение условия с вопросом.
2)
«вставка» вместо «предопределенный процесс» или «подпрограмма»:
"вставка" - это хорошее короткое уточнение смысла изображения
именно как вставки (в смысле компиляции), а не вызова подпрограммы или подагоритма (по интерпретации).
3)
«шампур» вместо «основная ветвь программы».
Кстати говоря, в многопоточном программировании шампур соответствует понятию основного (или главного) потока, от которого порождаются параллельные потоки.
Достоинство термина:
"шампур" - однословный короткий термин, а «основная ветвь программы» или "«основная ветвь алгоритма" - разница самоочевидная;
"шампур": графический стержень (толстая линия) с насаженной на него операторной начинкой:
очень образная суть дела, еще и с подвесками вторичных шампуров.
Недостаток термина:
"шампур" в алгоритмике и программировании - это какая-то бытовуха, жаргон и т.п.?
А почему бы и нет.
Англосаксы в этом плане не церемонятся. Например:
"железо" (iron) в информатике - в исходном смысле это "метиз": металлоизделия в хозяйственном магазине;
кеш: загашник, заначка и т.п. - промежуточный обменный буфер для ускорения доступа (в параллельном программировании, в интернете и т.п.).
Привыкли и не возражаем.
А у нас "шампур" - мы тоже не лаптем щи хлебаем.
--------------------------------
Но замечание типа "Определенное неудобство представляет также использование новой терминологии вместо устоявшихся наименований" целесообразно было бы принять на учет:
для систематической проработки соответствия параллельной терминологии - меньше было бы недопонимания, спотыкания, возражений и т.п. и больше энтузазизма.