DRAKON.SU
https://forum.drakon.su/

Икона "Вставка" - обсуждение терминологии, изменений
https://forum.drakon.su/viewtopic.php?f=170&t=1554
Страница 2 из 4

Автор:  ==== [ Воскресенье, 03 Май, 2009 12:15 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Илья Ермаков писал(а):
Вставка - это как использование библиотек компонент для САПР на этапе проектирования.
В этом случае, использование кода библиотеки компонент для САПР возможно в 2-х вариантах: вызов процедуры - икона "Процедура" или вызов макроопределения - икона "Действие".

Проблему повторное использование(без вызова) мы рассмотрели всесторонне.

Автор:  Илья Ермаков [ Воскресенье, 03 Май, 2009 13:19 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Ладно. Проехали пока. В двух словах не объяснишь, позже станет ясно всё сразу :)

Автор:  ==== [ Воскресенье, 03 Май, 2009 18:02 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Илья Ермаков писал(а):
Ладно. Проехали пока. В двух словах не объяснишь, позже станет ясно всё сразу :)
Илья, вы все время говорите о каких то второстепенных вещах в ущерб стратегической цели.

Прочитал сообщение AVC и нашел в нем объяснение аналогичной ситуации с переименованием иконы "Вставка" в "Процедура".
Цитата:
Можно до бесконечности "обсасывать" мелкие вопросы, связанные с циклами.
Там же Mazdi и AVC рекомендуют больше уделять внимания проектированию до выполнения программирования. Просмотрите несколько сообщений начиная с этого.

Автор:  Илья Ермаков [ Воскресенье, 03 Май, 2009 18:49 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Геннадий Тышов писал(а):
Илья, вы все время говорите о каких то второстепенных вещах в ущерб стратегической цели.


Геннадий, знаете такую хорошую поговорку "дьявол в деталях"?

Особенно это важно для таких разработок, которые претендуют на "экстракт", "ядро".
Дракон, как и Оберон, именно таков. И там, и там суть не в чём-то конкретно революционно новом (хотя таковые моменты есть - в Драконе, например, двумерная структурная топология), а в идеальном балансе, подборе и пригонке средств. И за сохранением этого баланса надо следить. Конечно, во многом основным средством этой балансировки оказывается авторская интуиция (такие вещи делает всегда один-два человека, но никак не коллектив).

Но если возникает необходимость изменять/развивать, это нужно делать только через очень глубокий анализ, каждой детали. Да, и через "обсасывание деталей циклов", если это обсасывание выполняется на основе строгого аппарата анализа. Нормальным инженерам необходимость такого аппарата анализа свойств понятна (детали конструкции методом комбинирования-отладки не подберёшь), у компьютерщиков же обычно - ни в одном глазу... Вот и Вы критикуете публично частности у Дейкстры (которые действительно трансформируются в свете Дракона), не разбираясь в том аппарате анализа, который должен знать каждый серьёзный алгоритмист (и прикладник, если это не гуманитарий..), как инженер - сопромат.

Те же циклы - это просто пример (но очень важный, если учитывать то, что они возникают на всех уровнях описания поведения системы, и в спецификациях протоколов и т.п.) того, как организовывать анализ свойств программных конструкций. Учимся строить такой анализ в мире программ. В ответ же предлагается плюнуть на циклы и перейти сразу к архитектуре? Не нужно уметь ходить, а сразу бегать? :)

Автор:  Valery Solovey [ Понедельник, 04 Май, 2009 10:21 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Илья Ермаков писал(а):
Полосатая вставка хорошо смотрится, подходит к действию.
"Полосатая вставка" неоправданно сильно притягивает к себе внимание. Это чересчур для практически бесполезного элемента.

Вложения:
1.PNG
1.PNG [ 6.35 КБ | Просмотров: 18364 ]

Автор:  Евгений Темиргалеев [ Понедельник, 04 Май, 2009 10:50 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Если правильно понял, и речь идёт об изображении вызовов процедур.

Не пойму для чего такие изображения нужны. Есть вставка, означающая перевод взгляда на другую схему. Например, схему другой процедуры. Сама операция вызова записывается на текстовом ЯП:
Код:
RND(seed, RndValue);
Если речь идёт о функции, то икона-действие и присваивание:
Код:
RndValue := RND(seed);

Автор:  Alexey_Donskoy [ Понедельник, 04 Май, 2009 11:51 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Ну, хотя бы для того, чтобы чуть дальше уйти от текста (т.е. от необходимости вчитываться в текст внутри графического элемента).

Если вместо текста вызова процедуры будут разделённые списки входных и выходных параметров, то и компилировать их проще, и воспринимать их проще, не отвлекаясь на синтаксис текстового языка.

Аналогия - можно сразу описать базу данных на SQL, а можно нарисовать ER-диаграмму. Второе предпочтительнее с когнитивно-эргономической точки зрения.

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

Автор:  Madzi [ Понедельник, 04 Май, 2009 12:57 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Евгений Темиргалеев писал(а):
Если правильно понял, и речь идёт об изображении вызовов процедур.
Не пойму для чего такие изображения нужны.

Помимо удобства обозревания параметров (передаваемых и возвращаемых), такое представление позволяет сделать ещё одну вещь: "развернуть шампур".

Вложения:
proc2.jpg
proc2.jpg [ 8.93 КБ | Просмотров: 18320 ]

Автор:  dvuugl [ Понедельник, 04 Май, 2009 14:11 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

"Вставка- термин неопределённый.." - ну так определим его? В пределах языка ДРАКОН.
Похоже, имеет место смешение понятий. Одним термином обозначаются две совершенно разные вещи, разные понятия:
1. Вставка как повторное использования кода (процедура, функция, макрос). Приползло от программистов.
2. Вставка как ссылка на объект языка ДРАКОН, описанный в другом месте (в примитиве, в силуэте, может появится ещё где с развитием самого языка ДРАКОН), было изначально в ДРАКОНе безотностельно к его применению (в программировании или ещё где).

Для ДРАКОНа, как самостоятельного явления, языка, не имеющего прямого отношения к программированию, существенно и, полагаю, правильно второе.
Вложение:
vstavca01.png
vstavca01.png [ 4.34 КБ | Просмотров: 18301 ]
Здесь можно видеть три типа ссылки на объект= три типа ДРАКОН-вставки (третий сильно гипотетический), каждый из которых в приложении к программированию м.б. и процедурой, и функцией, и макросом. Графоэлементы конечно м.б. другими (здесь признак вставки сохранён - две полоски), но эта конкретизация позволяет сразу, глазами, до включения логического рассудка схватить какой объект искать: примитив, силуэт или ещё что.

Смешение понятий возникло из-за наплыва и давления программистов. И как следствие "идеологического уклона" языка ДРАКОН в область программирования, к которой ДРАКОН имеет отношение не больше чем человек к обезьяне, только "по генетическому происхождению". Рискну предположить что весьма вялое отношение имеет ДРАКОН даже и к алгоритмизации вообще. Он самостоятельная сущность: некий способ декомпозиции всего, чему этот способ оказывается адекватен. Эволюцией его по-видимому и будет расширение области адекватности, а не сужение обратно в программирование. Хотя конечно программирование со своими "структурностями" и "классами" будет оказывать положительное влияние.

"и я тоже - сразу узнал GOSUB и испугался" :) А я в силуэте сразу узнал ассемблер с его многочисленными джампами и возвратами, и мне это понравилось :) Бейсик (изначальный) - он и есть как бы ассемблер, только с укрупнёнными командами.

Автор:  Madzi [ Понедельник, 04 Май, 2009 14:21 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

dvuugl писал(а):
2. Вставка как ссылка на объект языка ДРАКОН, описанный в другом месте (в примитиве, в силуэте, может появится ещё где с развитием самого языка ДРАКОН), было изначально в ДРАКОНе безотностельно к его применению (в программировании или ещё где).

Я бы не выделял особо вставку-ветвь. Потому что проще и РАЗУМНЕЕ описать ветвь как примитив и вставлять его. К тому же можно всегда "заземлить лиану", иначе получается тот же самый GOSUB, только "в профиль".

Автор:  Alexey_Donskoy [ Понедельник, 04 Май, 2009 14:42 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Согласен с обоими :)

Вставку-"силуэт" и "примитив" не вижу смысла разделять. Это всегда есть внешний объект (процедура).
А вот свёртку (свёрнутые в "квадратик" внутренности ветки, которые можно развернуть тут же на схеме), можно пометить плюсиком, как обычно и делается в подобных случаях.

Автор:  dvuugl [ Понедельник, 04 Май, 2009 15:08 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Цитата:
РАЗУМНЕЕ описать ветвь как примитив и вставлять его

Имхо, вопрос не в том что разумнее, а что эргономичнее. То есть как с меньшими усилиями глазами найти. Множество примитивов не составляют цельного рисунка. Силуэт с его верхней шиной и входной стрелкой для того и изобретён (хотя и одновременно не только для того!): сообщает взгляду "иди слева направо да читай шапки, непременно набредёшь на искомое". А где искать нужный примитив? Справа, слева, внизу, вверху?

Автор:  Alexey_Donskoy [ Понедельник, 04 Май, 2009 15:30 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Перегружать силуэт тоже не стоит.

Всю программу в один силуэт не затолкать.

Вспомните также о глобальных процедурах.

Автор:  Madzi [ Понедельник, 04 Май, 2009 16:02 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

dvuugl писал(а):
Цитата:
РАЗУМНЕЕ описать ветвь как примитив и вставлять его

Имхо, вопрос не в том что разумнее, а что эргономичнее. То есть как с меньшими усилиями глазами найти. Множество примитивов не составляют цельного рисунка. Силуэт с его верхней шиной и входной стрелкой для того и изобретён (хотя и одновременно не только для того!): сообщает взгляду "иди слева направо да читай шапки, непременно набредёшь на искомое". А где искать нужный примитив? Справа, слева, внизу, вверху?

Именно поэтому я и предложил внести "третье измерение". Т.е. чтобы глаз мог сразу зацепиться есть квадратик, а чтобы не искать примитив, который связан с этим квадратиком - квадратик можно развернуть.

Продемонстрирую:

Вложения:
prog4.png
prog4.png [ 19.85 КБ | Просмотров: 18148 ]
prog3.png
prog3.png [ 13.62 КБ | Просмотров: 18147 ]
prog2.png
prog2.png [ 10.93 КБ | Просмотров: 18249 ]
prog1.png
prog1.png [ 9.31 КБ | Просмотров: 18249 ]

Автор:  Евгений Темиргалеев [ Понедельник, 04 Май, 2009 16:51 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Madzi писал(а):
Именно поэтому я и предложил внести "третье измерение". Т.е. чтобы глаз мог сразу зацепиться есть квадратик, а чтобы не искать примитив, который связан с этим квадратиком - квадратик можно развернуть.
Это удобно при редактировании. А ДРАКОН-схемы создавались для улучшения понимания, т.е. чтения. Для этого схема д.б. видна целиком (квадратики придётся развернуть). А "сворачиваемые квадратики" будут стимулировать создание громоздких схем.

Но без сомнения, думать надо, как бы упросить процесс редактирования без ущерба процессу "чтения".

Автор:  Евгений Темиргалеев [ Понедельник, 04 Май, 2009 16:55 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Madzi писал(а):
Продемонстрирую:
Теперь, для сравнения - выделите эти сворачивающиеся блоки в отдельные схемы и разместите их на одном листе.

Основной вопрос - как проще понимать работу изображённого алгоритма?
- когда видишь сразу несколько схем (основная+вспомогательные);
- когда видишь одну схему но в разной степени детализации, для углубления/"всплытия" нужно раскрывать/сворачивать нужные "квадратики".

А если схему надо напечатать, а не только править/смотреть в редакторе?

Автор:  Madzi [ Понедельник, 04 Май, 2009 17:13 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Евгений Темиргалеев писал(а):
Madzi писал(а):
Продемонстрирую:
Теперь, для сравнения - выделите эти сворачивающиеся блоки в отдельные схемы и разместите их на одном листе.

Основной вопрос - как проще понимать работу изображённого алгоритма?
- когда видишь сразу несколько схем (основная+вспомогательные);
- когда видишь одну схему но в разной степени детализации, для углубления/"всплытия" нужно раскрывать/сворачивать нужные "квадратики".

А если схему надо напечатать, а не только править/смотреть в редакторе?

Тут вы правы. Получаются разные уровни детализации.
На счёт редактировать я с вами не согласен. Удобнее редактировать отдельный примитив/силуэт, чем в квадратике.
А вот смотреть лучше "в квадратике", чтобы не бегали глаза и не переключаться от схемы к схеме.

Разная степень детализации крайне удобна для осмысления особенно новых (не своих) алгоритмов.
Сначала смотришь на пару квадратиков, потом квадратиков стало около десятка, потом развернул до двадцати и т.д.
Они играют ту же роль, что шапка в силуэте, только вглубь уровня осмысления.
Печатать схему можно с заданным уровнем детализации заданных квадратиков.

Автор:  Евгений Темиргалеев [ Понедельник, 04 Май, 2009 17:19 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Madzi писал(а):
На счёт редактировать я с вами не согласен. Удобнее редактировать отдельный примитив/силуэт, чем в квадратике. Разная степень детализации крайне удобна для осмысления особенно новых (не своих) алгоритмов.
Сначала смотришь на пару квадратиков, потом квадратиков стало около десятка...
Выделенное, на мой взгляд, спорно. Надо сравнивать. Поэтому предлагаю сравнить Ваш пример со схемой где видно всё сразу. (хочется именно поглядеть*, иначе не оценишь)

Согласитесь, что при достаточном углублении, Вы обозреваете не всю схему (физич. не возможно), а лишь отдельные развёрнутые квадратики.

*если у Вас нет времени, прикрепите файлы схем, может я сделаю...

Автор:  Madzi [ Понедельник, 04 Май, 2009 17:27 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Евгений Темиргалеев писал(а):
Madzi писал(а):
На счёт редактировать я с вами не согласен. Удобнее редактировать отдельный примитив/силуэт, чем в квадратике. Разная степень детализации крайне удобна для осмысления особенно новых (не своих) алгоритмов.
Сначала смотришь на пару квадратиков, потом квадратиков стало около десятка...
Выделенное, на мой взгляд, спорно. Надо сравнивать. Поэтому предлагаю сравнить Ваш пример со схемой где видно всё сразу. (хочется именно поглядеть*, иначе не оценишь)

Согласитесь, что при достаточном углублении, Вы обозреваете не всю схему (физич. не возможно), а лишь отдельные развёрнутые квадратики.

*если у Вас нет времени, прикрепите файлы схем, может я сделаю...

Вы правы, нужно смотреть как это будет в схемах, и чем больше тем лучше.

По поводу обозреть всё сразу - спорно. Иногда очень хочется видеть что происходит в ветке хотя бы на один уровень глубже.

Вложения:
prog0.png
prog0.png [ 18.61 КБ | Просмотров: 18148 ]

Автор:  Евгений Темиргалеев [ Понедельник, 04 Май, 2009 19:06 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Madzi писал(а):
Удобнее редактировать отдельный примитив/силуэт, чем в квадратике.
А вот смотреть лучше "в квадратике", чтобы не бегали глаза и не переключаться от схемы к схеме.
Это, мне кажется, не проблема. Просто добавить в редактор опцию, которая позволяет для просмотра раскрывать икону "вставка" в примитив "вызываемой" "процедуры".

Страница 2 из 4 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/