DRAKON.SU

Текущее время: Четверг, 28 Март, 2024 14:16

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 58 ]  На страницу 1, 2, 3  След.
Автор Сообщение
СообщениеДобавлено: Четверг, 29 Сентябрь, 2016 09:44 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Концепция Паронджанова:
достоинства и недостатки


В этой теме предлагается обсудить достоинства и недостатки концепции, понимаемые в широком смысле слова.
Поводом для темы послужили тезисы Алексея Донского:
В сообщении viewtopic.php?p=98333#p98333 Alexey_Donskoy писал(а):
Главная заслуга Паронджанова в том, что он громко сказал и настойчиво повторяет: "Правила эргономики надо соблюдать!"

Главная беда Паронджанова (и отрасли - постольку, поскольку он оказывает на неё влияние) в том, что автор серьёзно закрыл этот язык для научных исследований и для поисков нового (см. темы этого форума за добрый десяток лет), и единственным "серьёзным" аргументом выдаёт то, что по Дракону уже напечатано много книг...

Желательно, чтобы участники форума высказали свое мнение о достоинствах и недостатках (или, как говорит Алексей Донской, а заслугах и бедах).

Согласны ли вы с суждением Алексея Николаевича Донского?
Или у Вас другое мнение?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 29 Сентябрь, 2016 10:11 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Могу только добавить: не хочу появления нового стандарта де факто, который сложился исторически и не является оптимальным, научно обоснованным и разработанным.
Чтобы не получить ситуацию, как с языком С...

Считаю необходимым поставить задачу разработки эффективного с точки зрения когнитивной эргономики инструмента.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 29 Сентябрь, 2016 12:19 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Достоинства Дракона:

1) Позволяет эффективно использовать площадь экрана/листа при размещении схем, и схемы не вытягиваются в длинную последовательность как блок схемы.
2) Активизирует в мозгу "графические" области, которые помогают решить задачу, которые слабо активизируются, когда рассматривается текстовое представление программы.

Недостатки Дракона:

1) Силуэт позволяет выражать неструктурные схемы, а метки шампуров являются аналогами goto, которые много критиковались.
2) Нет взаимозаменяемости (симметричности) между примитивом и силуэтом. Если на силуэте отображена неструктурная схема, то в примитиве её уже не получится отобразить. Лучше, если нельзя будет создавать неструктурные схемы не только в примитиве, но в силуэте, это еще улучшить эргономику схемы, за счет того, что у каждого блока схемы будет строго один вход и один выход (в неструктурных схемах в общем случае возможна ситуация, когда у какого-нибудь блока много входов и много выходов).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 29 Сентябрь, 2016 12:40 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Rifat писал(а):
в неструктурных схемах в общем случае возможна ситуация, когда у какого-нибудь блока много входов и много выходов
Много входов - это нормально и структурно (слияние развилки).
Много выходов - не бывает. Это не электрическая схема же.
Так что данное замечание - мимо кассы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 29 Сентябрь, 2016 13:05 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Зависит, конечно, от терминологии.
В моём понимании следующая схема - это цикл, с запрыгиванием
в середину цикла и с выходом из середины цикла,
то есть цикл для меня - это один элемент.
И данный неструктурный цикл имеет два входа и два выхода.
И его можно представить в виду силуэта.
Вложение:
Circle.png
Circle.png [ 12.9 КБ | Просмотров: 20117 ]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 29 Сентябрь, 2016 13:30 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Rifat писал(а):
И данный неструктурный цикл имеет два входа и два выхода.
Так это вход/выход внутрь/изнутри.
Согласен, неструктурно.
И про силуэт, который внутренности выносит наружу, да.
И про то, что веточные циклы в силуэте могут образоваться неявно, да.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 29 Сентябрь, 2016 13:37 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
В этом то и проблема, что силуэт вроде бы выглядит красиво, но там могут быть такие запутанные циклы, что нужно очень долго разбираться как оно работает (конечно, на практике такое бывает не очень часто, но раз язык Дракон позволяет это, то кто-нибудь обязательно будет этим пользоваться).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 29 Сентябрь, 2016 19:03 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Рифат, спасибо за интерес к языку ДРАКОН и за критическое замечание.

Вместе с тем Ваша схема, не является опровергающим примером.
Схема, которую Вы нарисовали, запрещена в языке ДРАКОН.
Ее невозможно построить ни в Примитиве, ни в Силуэте.
Иначе говоря, Ваш пример не имеет никакого отношения к языку ДРАКОН.
Это недоразумение.

Визуальный синтаксис языка ДРАКОН построен как визуальное логическое
исчисление (которое я назвал "исчислением икон"). Данное исчисление можно рассматривать как раздел визуальной математической логики.

Исчисление икон реализовано в программе "ИС Дракон" Геннадия Тышова (и больше ни у кого).
Попробуйте нарисовать Вашу схему в программе "ИС Дракон". Вы не сможете это сделать. Почему? Потому что программа Тышова запрещает рисовать схемы с ошибками. Программа Тышова заботится о пользователях, страхует пользователей от ошибок и ведет их по правильному пути.

Любая абстрактная дракон-схема (слепыш) есть визуальная теорема, которая строго выводится (доказывается) из двух визуальных аксиом (которые называются "аксиома-примитив" и "аксиома-силуэт") с помощью правил визуального логического вывода.

Подробнее см. книгу "Учись..." раздел "Теоретические основы языка ДРАКОН", стр. 425-472.
http://drakon.su/_media/01._parondzhano ... oritmy.pdf


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 30 Сентябрь, 2016 00:52 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Владимир Паронджанов писал(а):
Вместе с тем Ваша схема, не является опровергающим примером.
Схема, которую Вы нарисовали, запрещена в языке ДРАКОН.
Ее невозможно построить ни в Примитиве, ни в Силуэте.
Иначе говоря, Ваш пример не имеет никакого отношения к языку ДРАКОН.
Это недоразумение.

Схема, которую я приводил не является полной схемой, а является частью схемы.
Перерисовал данную схему на Драконе с помощью редактора, который вы посоветовали.
Вложение:
circle2.PNG
circle2.PNG [ 24.25 КБ | Просмотров: 20072 ]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 30 Сентябрь, 2016 08:42 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Rifat писал(а):
Перерисовал данную схему на Драконе
Вообще-то вопрос ставился не про обсуждение плюсов-минусов языка Дракон, а про авторский подход к теме когнитивной эргономики.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 30 Сентябрь, 2016 09:51 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Пример с неструктурными конструкциями также входит в тему эргономики. Так как Дракон создавался с целью эргономичного описания алгоритмов, а неструктурные элементы не являются эргономичными.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 30 Сентябрь, 2016 10:10 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Rifat писал(а):
Схема, которую я приводил не является полной схемой, а является частью схемы.
Перерисовал данную схему на Драконе с помощью редактора, который вы посоветовали.

Рифат, большое Вам спасибо. Вы привели опровергающий пример, о котором я раньше не догадывался.

Вы ПЕРВЫМ указали на это слабое и НЕДОПУСТИМОЕ место. Еще раз спасибо.

Два входа в веточный цикл КАТЕГОРИЧЕСКИ недопустимы. Это можно и нужно исправить.

ПРЕДЛОЖЕНИЕ

1. Черные треугольники веточного цикла вставляются автоматически после того, как пользователь заполнит текстом иконы Адрес и Имя ветки.

2. После этого автоматически проводится проверка на наличие второго входа в веточный цикл. Если есть второй вход, пользователю выдается сообщение об ошибке.

Как Ваше мнение?

=================================

Применительно к Вашей схеме это значит следующее:

На Вашей схеме левая икона Адрес с надписью
Цитата:
Условие внутри цикла
является незаконной. Она подлежит удалению или переименованию.

================================

Чтобы реализовать данное ПРЕДЛОЖЕНИЕ, необходимо произвести доработку редактора (добавить новую функцию).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 30 Сентябрь, 2016 10:31 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Если ввести правило, что разрешается только один вход в ветку, то станет лучше.
Но, как мне кажется, останется еще класс неструктурных алгоритмов, которые могут быть созданы с одним входом ветку (могу позднее привести какой-нибудь пример).
По-хорошему нужно, чтобы не только был один вход в ветку, но и один выход из ветки, то есть операции заземления лианы не должно быть.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 30 Сентябрь, 2016 10:35 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Владимир Паронджанов писал(а):
Вы ПЕРВЫМ указали на это слабое и НЕДОПУСТИМОЕ место.
Вообще-то у нас была подробная тема с обсуждением проблем силуэта и веточных циклов. И такой случай вроде рассматривался.

А ещё рассматривались вложенные циклы.
Откуда следовал единственный вывод: общая шина (силуэт), объединяющая РАЗНЫЕ уровни вложенности, есть недопустимая неструктурная конструкция. Точка.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 30 Сентябрь, 2016 10:41 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Насчет бесполезности не соглашусь.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 30 Сентябрь, 2016 10:43 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Rifat писал(а):
Если сделать один вход в ветку и один выход, то силуэт и примитив станут симметричными, то что можно представить в виде силуэта можно будет представить и в виде примитива.
Топологически это будет уже не силуэт (общая шина), а банальная змейка (взяли длинный шнур и уложили его зигзагом на плоскости).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 30 Сентябрь, 2016 10:52 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Rifat писал(а):
Если ввести правило, что разрешается только один вход в ветку, то станет лучше.
Не понял. В ветку и сейчас только один вход.
Видимо, Вы имеете в виду только один вход в веточный цикл.

Rifat писал(а):
Но, как мне кажется, останется еще класс неструктурных алгоритмов, которые могут быть созданы с одним входом ветку (могу позднее привести какой-нибудь пример).
Буду очень благодарен за пример. Спасибо. Без примера непонятно, что имеется в виду.

Rifat писал(а):
По-хорошему нужно, чтобы не только был один вход в ветку, но и один выход из ветки, то есть операции заземления лианы не должно быть.
К сожалению, эта мысль для меня неясна.
Зачем? Какая цель? Что мы выиграем? Желательно пояснить на примере.
Мне ясно, что мы очень многое проиграем. Буду благодарен, если разъясните Вашу позицию.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 30 Сентябрь, 2016 12:29 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Пример неструктурной схемы, в которой нет цикла, и которую можно выразить в виду силуэта, но нельзя выразить в виде примитива.
Вложение:
NonStruct.png
NonStruct.png [ 12.65 КБ | Просмотров: 20025 ]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 30 Сентябрь, 2016 12:46 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
...


Последний раз редактировалось LKom Пятница, 30 Сентябрь, 2016 12:58, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 30 Сентябрь, 2016 12:48 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Rifat писал(а):
Пример неструктурной схемы, в которой нет цикла, и которую можно выразить в виду силуэта, но нельзя выразить в виде примитива.
Ох, зачем делать такие громадные картинки?!

Вложение:
тест1_1.png
тест1_1.png [ 2.8 КБ | Просмотров: 20022 ]


И что не так, кроме неструктурности? ;)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 58 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB