DRAKON.SU https://forum.drakon.su/ |
|
ДРАКОН vs Р-схемы https://forum.drakon.su/viewtopic.php?f=62&t=4047 |
Страница 1 из 13 |
Автор: | PSV100 [ Вторник, 14 Август, 2012 19:37 ] |
Заголовок сообщения: | ДРАКОН vs Р-схемы |
Моя история находится здесь на РСДН. Здесь её финал на сегодня. Кратко в двух словах. Мне приходится рисовать ДРАКОН-схемки алгоритмов различных расчётов и иногда отображать материальные процессы. Потребность возникает редко, и схемы, в основном, набрасываются вручную на бумаге, из-за этого диаграммы лишь похожи на ДРАКОН (по второй ссылке есть наглядный пример). И иногда схемки приходится рисовать "нормально" в граф-редакторе. В принципе, исходная тема на РСДН и возникла из-за очередной попытки поиска удобного способа создания диаграмм, и пока результаты не успешны. Известные доступные ДРАКОН-редакторы недостаточно удобны в работе, во всяком случае, для программистов. В качестве компромисса (в плане применимости среди широкой аудитории пользователей), например, им не хватает функционала на уровне "вимператора" (известного плагина для FireFox), но это отдельная тема и сейчас не об этом. И вот относительно недавно (благодаря обсуждению ДРАКОНа на РСДН) я познакомился с Р-схемами, которые заставили призадуматься над "алго-рисованием", пришлось кроме вопросов относительно инструментария в очередной раз исследовать и потенциал различных графических нотаций для своих нужд. На данный момент Р-схемы показались мне вполне конкурентоспособными относительно ДРАКОНа (и др. языков). Материалы для тех, кто не знаком с Р-схемами И.В. Вельбицкого: - статья И.В. Вельбицкий "Визуальное программирование графическими структурами"; - Выборка из выше указанной статьи; - статья Вельбицкий И.В., Ковалёва А.Л. "Графический стиль программирования для персональной ЭВМ", Журнал "Микропроцессорные средства и системы" N4 1985г., стр.46-51; - книга Вельбицкий И.В., Ходаковская В.Н., Шолмов Л.И. - Технологический комплекс производства программ на машинах ЕС ЭВМ и БЭСМ-6 (1980); - пример из книги; - официальный сайт по Р-технологии; - немного истории; - журнал Кибертония за 01/2012 (с.46); - РТК - информация о комплексе; - сведения об РТК на этом форуме: * здесь; * здесь; - ГОСТ: * 19.005-85 HTML PDF * 8631-94 HTML PDF Информации о Р-технологии крайне мало, а о практическом применении толком ничего и не найти. Я позволю себе здесь указать несколько рисунков, чтобы можно было быстро понять сущность Р-схем. Примерчик из статьи Вельбицкого: Очевидно, что схемы кроме графического отображения могут иметь абсолютно идентичную форму текстовой записи. Удачная нотация, которая позволяет задавать не только алгоритмы в виде императива, но и в функциональном или декларативном стиле, даже "зарисовать" Пролог: Кроме алгоритмов через одну и ту же нотацию можно задавать и различные структурные, активностные и пр. диаграммы: А здесь видно, что через один стиль схем указывается и алгоритмика, и сетевые графики и др. К тому же Р-схемы хорошо сочетаются с табличными данными, в т.ч. и когда таблицы "вписаны" во внутрь схем: Продублирую свой рисунок с РСДН. Можно считать, что это некая альтернатива попыткам описать бизнес-процессы, которые можно встретить, например, в этой теме, или здесь (прошу прощения за ручную мазню, но это вынужденная мера): Это попытка задать шампура от ДРАКОНа, но горизонтально ("мангал-метод" , при необходимости вполне применимо драконовское правило "чем правее, тем хуже", но здесь "чем ниже мясо свисает с шампура, тем оно сильнее подгорает" ). Здесь нет полноценного графа, формально необходимо рисовать по таким мотивам: Засорять этот пост дальше не буду. Кратко мои выводы. По сравнению с ДРАКОНом Р-схемы имеют плюсы: - уникальная простая нотация, позволяющая в одном стиле задать диаграммы разного типа (алгоритмические, структурные, отношений и т.д.); - в алгоритмических схемах кроме маршрутной логики выделяется и структурная составляющая, например, хорошо видно, что входит в цикл; - схемы растут горизонтально, что удобно при широкоформатных мониторах; - механизм предикатов (условий над дугами) и возможность что-то декларировать в вершинах графа позволяют наглядно задавать неудобные для ДРАКОН-нотации вещи, как, скажем, обработка исключительных ситуаций, или указать сущность расщепления/соединения процессов в доалгоритмических схемах; - Р-схемы имеют адекватное отображение и в текстовом виде, что имеет плюс в техническом плане (кроме среды/редактора есть возможность использовать сторонний инструментарий, как контроль версий, поиск и манипулирование текстом и пр.); - правила составления схем, имхо, даже проще, чем в ДРАКОНе. Формально, в ГОСТе, есть и произвольные переходы, могут быть и пересечения (которые, кстати, здесь как-то "проглатываются" терпимо). Но "экстрим" пока можно не обсуждать, его можно и не допускать. Обратная сторона медали. Во-первых, возникает вопрос насчёт наглядности. Вельбицкий в своей статье утверждал, что Р-схемы, прежде всего, непривычны по сравнению с типовыми блок-схемами, и, возможно, действительно чуть менее наглядны, но они более компактны, гибче и функциональны. После небольшой возни с Р-схемами я с такой позицией соглашусь. К ним привыкаешь быстро, и даже "тяжёлые" случаи, как двойная дуга, через которую могут задаваться циклы - осваиваются без заморочек. Несколько непривычно воспринимается произвольный текст в схемах (как в алгоритмах про рыбалку), но и этот момент быстро переваривается. А текст в виде некоего программного кода смотрится как родной, к этому нас приучили с детства рисунки на уроках геометрии, физики и пр. Одним словом, однозначно сказать, что наглядность "ниже плинтуса", я не могу, наоборот, вполне нормально глаз цепляется за рисунок. Во-вторых, Р-схемы имеют больше претензий к качественной отрисовке. В них важно надписи и подписи визуально прикреплять к своей дуге, избегать хаоса из сумбурного текста. Поэтому Р-схемы требуют для себя места, так сказать, с запасом воздуха, при этом, что несколько обидно, в Р-схемах как бы меньше "квадратиков" по сравнению с блок-схемами благодаря предикатам, но в итоге пространства "сжирают" не на много меньше. К тому же Р-схемы не подходят в тех случаях, когда нужны гламурные диаграммы с градиентными заливками и тенями (правда, обычно сущность содержимого таких диаграмм на самом деле не имеют никакой пользы, кроме самого факта их наличия). В идеале, Р-схемы необходимо оформлять по ЕСКД, с рамочкой и штампом, ровненько чертить с "красивым почерком". Тогда и для "попсы" схемы приобретут оттенок инженерной солидности, и "большому начальнику" их не стыдно показать. Если схемки красивенько чертить, то в них вполне нормально вписывается содержательный (немалый) текст, особенно, если его оформлять как встроенную табличку (но с едва заметными разделительными линиями). В общем, можно и ещё что-то сказать. В какой-то степени, эту тему форума можно считать дальнейшим развитием этой темы, там, кстати, есть пару слов и про Р-схемы, но ничего существенного. Интересно мнение жителей OberonCore, особенно тех, кто ДРАКОН использует на практике и прочувствовал неудобства с ним в разных вопросах (а вопросы есть). Видит ли кто-то для себя альтернативу рисункам (ДРАКОН-схемам) в виде Р-чертежа алгоритма (и не только алгоритма) ? |
Автор: | Владимир Паронджанов [ Вторник, 14 Август, 2012 20:58 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
PSV100 писал(а): ... Мне приходится рисовать ДРАКОН-схемки алгоритмов различных расчётов и иногда отображать материальные процессы. Потребность возникает редко, и схемы, в основном, набрасываются вручную на бумаге, из-за этого диаграммы лишь похожи на ДРАКОН (по второй ссылке есть наглядный пример). И иногда схемки приходится рисовать "нормально" в граф-редакторе. В принципе, исходная тема на РСДН и возникла из-за очередной попытки поиска удобного способа создания диаграмм, и пока результаты не успешны. Известные доступные ДРАКОН-редакторы недостаточно удобны в работе, во всяком случае, для программистов. И вот относительно недавно (благодаря обсуждению ДРАКОНа на РСДН) я познакомился с Р-схемами, которые заставили призадуматься над "алго-рисованием". Пришлось кроме вопросов относительно инструментария в очередной раз исследовать и потенциал различных графических нотаций для своих нужд. На данный момент Р-схемы показались мне вполне конкурентоспособными относительно ДРАКОНа (и других языков). Уважаемые коллеги! Автор темы PSV100 провел сравнительный анализ языка ДРАКОН и Р-технологии Вельбицкого. И пришел к выводу, что Цитата: Р-схемы удобнее, чем дракон-схемы. Насколько я понял, этот вывод не окончательный, а предварительный. Чтобы укрепиться в этом суждении, PSV100 хочет узнать мнение специалистов. Вопрос ставится так: Цитата: Интересно мнение жителей OberonCore, особенно тех, кто ДРАКОН использует на практике и прочувствовал неудобства работы с ним в разных вопросах (а вопросы есть).
Видит ли кто-то для себя альтернативу рисункам (ДРАКОН-схемам) в виде Р-чертежа алгоритма (и не только алгоритма) ? |
Автор: | usr345 [ Вторник, 14 Август, 2012 22:56 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
У P-схем есть одно преимущество над Драконом: они позволяют создавать не только схемы алгоритмов, но и схемы структур данных весьма приличного качества. По ним бы еще хороший учебник типа такого, какой ВД сделал для Дракона. |
Автор: | Ярослав Романченко [ Среда, 15 Август, 2012 09:44 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
Хм, любопытный сайтик "Фонда Глушкова". Там две версии редакторов Р-схем и интерперетатор с исходными кодами |
Автор: | Владимир Паронджанов [ Среда, 15 Август, 2012 10:22 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
Уважаемый Ярослав Михайлович! Если нетрудно, дайте ссылку на редакторы и интерпретатор. Может быть, кто-нибудь захочет скачать, поэкспериментировать и высказать свое мнение. |
Автор: | Ярослав Романченко [ Среда, 15 Август, 2012 11:38 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
Просто "побродил" по ссылке приведённой PSV100. PSV100 писал(а): - "официальный сайт" по Р-технологии; http://glushkov.org/?page_id=64 http://glushkov.org/?page_id=289 http://glushkov.org/?page_id=307 |
Автор: | PSV100 [ Среда, 15 Август, 2012 12:24 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
Владимир Паронджанов писал(а): Уважаемый Ярослав Михайлович! Если нетрудно, дайте ссылку на редакторы и интерпретатор. Может быть, кто-нибудь захочет скачать, поэкспериментировать и высказать свое мнение. Ярослав Романченко уже дал конкретные ссылки, всё находится на сайте фонда Глушкова. Там есть несколько схожих редакторов, один из них может генерировать код на С++ (правда, по уж очень упрощённому алгоритму), другой может интерпретировать код на JavaScript (а точнее QtScript), функционал систем на уровне пощупать/побаловаться, не для серьёзной работы. По удобству редакторы слабоваты. Одним словом, в плане инструментария ситуация хуже чем с ДРАКОНом. |
Автор: | PSV100 [ Среда, 15 Август, 2012 12:39 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
И дополню. Как раз эти доступные редакторы показывают тот факт, что Р-схемы необходимо качественно рисовать. Схемы в данных редакторах выглядят не очень-то наглядно, необходимо изменять расстояние между надписями и линиями дуг, сами дуги разносить чуть побольше, баловаться со шрифтом. В идеале Р-схемы, имхо, лучше воспринимаются в виде классического инженерного чертежа с правильным чертёжным почерком, так что, над потенциальном редактором нужно хорошенько работать. |
Автор: | PSV100 [ Среда, 15 Август, 2012 14:20 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
Владимир Паронджанов писал(а): Автор темы PSV100 провел сравнительный анализ языка ДРАКОН и Р-технологии Вельбицкого. И пришел к выводу, что Цитата: Р-схемы удобнее, чем дракон-схемы. Насколько я понял, этот вывод не окончательный, а предварительный. [...] Да, окончательных выводов у меня нет. Необходимо уточнить. Нельзя однозначно сказать, что Р-схемы всегда удобнее/лучше Дракон-схем, или что ДРАКОН однозначно хуже Р-технологии. Всему есть свое место. ДРАКОН, благодаря своей близости к типовым блок-схемам, фактически может быть что-то вроде mainstream-а. Например, недавно мне пришлось смотреть инструкцию к материнке и там была блок-схема, описывающая процесс загрузки биоса (какие этапы, последовательность проверок ошибок и пр.). Я бы очень удивился, если вместо классической блок-схемы там была бы какая-то другая нотация (хотя и блок-схему несколько непривычно встретить вместо обычного текста). Использование ДРАКОНа (и блок-схем тоже) несколько затруднительно в тех случаях, когда он изначально не рассчитан на такое применение. К примеру, нет хорошего способа схематично указать выполнение параллельных процессов, если говорить о доалгоритмической диаграмме (эта проблема здесь на сайте неоднократно всплывает), не всегда лекарство избегания пересечений лучше, чем это пересечение явно показать, есть неоднозначность в полезности использования веточных циклов, и др. Возможно, не все вопросы решаются и через Р-схемы (хотя, имхо, потенциал у Р-схем выше), тем более, если пытаться применять такие наработки ДРАКОНа как силуэт, к примеру. Да и не всегда графический язык сможет составить достойную конкуренцию текстовому языку программирования. В прикрепленном рисунке я привёл примеры простейших функций на Хаскеле, в исходном коде и попытка рядом выразить их через Р-нотацию (уверен, что эта попытка неправильна). Здесь "кто кого" - однозначно сказать нельзя. Если использовать функциональный стиль в рамках граф-языка, то его синтаксис нужно хорошенько адаптировать для "вписывания" в схемы. И, имхо, у Р-схем для функционального программирования больше потенциал, чем у ДРАКОНа и блок-схем. Откровенно говоря, отсутствие явных циклов в функциональном подходе ставит под сомнение применимость блок-схем, да и развилка/выбор в блок-схемах тоже несколько иная сущность, чем в том же Хаскеле. Иными словами, через ДРАКОН можно показать лишь результат в виде императивного маршрута, который может быть получен из декларативного указания через Р-схемы (или другой DSL). Рисунок хаскель-формул: Вложение:
|
Автор: | Владимир Паронджанов [ Среда, 15 Август, 2012 15:11 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
Уважаемый PSV100! Я очень рад, что Вы открыли эту тему (причем, по многим причинам). Отсутствие быстрой реакции специалистов, видимо, объясняется тем, сегодня про Р-технологию мало кто знает. Тем не менее, я (вместе с Вами) надеюсь, что со временем отклики появятся. =============================== Пользуясь случаем, я выписал перечень недостатков ДРАКОНа из Вашего последнего сообщения: Цитата: НЕДОСТАТКИ ЯЗЫКА ДРАКОН Я отчетливо понимаю, что это не полный перечень Ваших вопросов (или претензий) к ДРАКОНу. А всего лишь примеры. (по мнению PSV100) 1. Нет хорошего способа схематично указать выполнение параллельных процессов, если говорить о доалгоритмической диаграмме (эта проблема здесь на сайте неоднократно всплывает). 2. Не всегда лекарство избегания пересечений лучше, чем это пересечение явно показать. 3. Есть неоднозначность в полезности использования веточных циклов. Цель перечня — помочь Вам (если Вы захотите) дополнить этот список до нужного уровня, чтобы получился полный перечень недостатков. |
Автор: | Kemet [ Среда, 15 Август, 2012 15:28 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
В программировании и описании техпроцессов Р-схемы превосходят Дракон-схемы во всем, за исключением вхождения и интуитивности восприятия на этапе вхождения. В других областях, возможно, Дракон будет более эффективен. PSV100, специальная дуга имеет поглощающие свойства, поэтому Ваши Р-схемы составлены неверно. |
Автор: | PSV100 [ Среда, 15 Август, 2012 15:32 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
usr345 писал(а): У P-схем есть одно преимущество над Драконом: они позволяют создавать не только схемы алгоритмов, но и схемы структур данных весьма приличного качества. По ним бы еще хороший учебник типа такого, какой ВД сделал для Дракона. И не только структур данных, вот, например, сеть Петри: С алгоритмом Евклида всё понятно, а вот с сетью Петри необходимо время, чтобы привыкнуть к такой нотации (хотя и алгоритмы тоже по началу требуют момента "вкуривания"). С одной стороны, в подобных схемах вынуждены прибегать к некоторому дублированию данных, например, повторять предикаты, но с другой, в ряде случаев наличие предикатов "по месту" помогает лучше понять логику без необходимости "прокручивать" схему назад. Одним словом, одна и та же нотация для разных типов схем - это конечно плюс. Имхо, как раз имеется хороший вариант для "UML для народа", в дополнение (а возможно, и в противовес) к той работе, которую проделывает Владислав Жаринов в рамках Драконографики. Что касается потенциальных многотомных книг. Как-то лучше, когда на освоение технологии достаточно десяти минут, через полчаса уже всё понятно, а через неделю использования уже становишься "гуру". Хотя, конечно, литературы не хватает. Имхо, если здесь Владислав Жаринов предоставит своё мнение на пару постов, то статья для вики будет готова (хотя по стилю это будет, скорее, полноценная методичка, и не забыть все многочисленные вложенные ссылки "развернуть" в линейный список цитат - материала на полсеместра хватит ). Владислав Жаринов, сказанное выше, конечно, шутка. Пользуюсь случаем, я ещё раз хочу сказать спасибо за оказанное внимание на сайте РСДН. |
Автор: | Степан Митькин [ Среда, 15 Август, 2012 15:44 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
Р-схемы - они прикольные. Такой "ДРАКОН на боку". А если силуэт добавить, то тогда уж совсем похоже. Однако, есть и разница: 1. События разворачиваются слева направо. По-моему, сверху вниз более привычно. Это как текст читать. 2. Отсутствие икон: - Иконы всё-таки неплохо структурируют картину. Они чётко отделяют графический синтаксис от текстового. А Р-схему надо напряжённо сканировать глазом, чтобы понять, к какой точке графа относится данный кусок текста. - Иконы имеют разную форму. Форма быстро угадывается глазом. |
Автор: | Степан Митькин [ Среда, 15 Август, 2012 15:59 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
А кроме того. ДРАКОН можно так же успешно применять для описания структуры. Вот, например, структура файла из первого поста, переведённая на ДРАКОН: Вложение: А вот та же структура, в которой тело файла сделано необязательным: Вложение:
|
Автор: | PSV100 [ Среда, 15 Август, 2012 16:23 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
Kemet писал(а): В программировании и описании техпроцессов Р-схемы превосходят Дракон-схемы во всем, за исключением вхождения и интуитивности восприятия на этапе вхождения. В других областях, возможно, Дракон будет более эффективен. PSV100, специальная дуга имеет поглощающие свойства, поэтому Ваши Р-схемы составлены неверно. Да, Вы правы, Р-схемы требуют этапа вхождения, мозг необходимо "перепрошить" с блок-схем, но, имхо, назвать этот процесс тяжёлым я не могу. По поводу специальной дуги. Я действительно неправ (об этом я и намекнул в своём сообщении), это была попытка выделить рекурсию. И интересен момент насчёт Хаскеля в схемах. Функциональный язык по своей природе имеет декларативную сущность, но монадические вычисления выглядят вполне императивно. Поэтому, если уже "рисовать" монады, то делать это желательно также, как и для императивной схемы, т.е. наглядно через направленный граф раскрывать все продвижения по маршруту, в т.ч. и показывая все рекурсии, т.е. через явные циклы. В принципе, рекурсии полезно раскрывать и не только в монадах. Поэтому вписать "в лоб" Хаскель во внутрь схемы как-то проблематично, возможно, но не эффективно. Иными словами, граф-схемы не всегда "одинаково полезны". |
Автор: | vasili111 [ Среда, 15 Август, 2012 16:30 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
Когда я еще не был знаком с ДРАКОН-ом и первый раз увидел ДРАКОН-схему, то многое мне было понятно и без изучения ДРАКОН-а. К сожалению то же самое не ощутил глядя на Р-схемы. Мое личное мнение, ДРАКОН-воспринимается легче чем Р-схемы. |
Автор: | Kemet [ Среда, 15 Август, 2012 17:44 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
PSV100 писал(а): Поэтому, если уже "рисовать" монады, то делать это желательно также, как и для императивной схемы, т.е. наглядно через направленный граф раскрывать все продвижения по маршруту, в т.ч. и показывая все рекурсии, т.е. через явные циклы. В принципе, рекурсии полезно раскрывать и не только в монадах. Поэтому вписать "в лоб" Хаскель во внутрь схемы как-то проблематично, возможно, но не эффективно. Иными словами, граф-схемы не всегда "одинаково полезны". Необязательно. Специальная дуга на то и специальная, что для нее и для соединений на ее основе по госту семантика не определена. Она определяется при создании реализации под конкретное применение/язык программирования. Так, к примеру для графического паскаля/модуры/ассемблера из комплекса ртк-микро таким образом были определены цикл дейкстры и цикл-паук... Для хаскеля можно определить более близкую ему семантику для конкретной конструкции. |
Автор: | PSV100 [ Среда, 15 Август, 2012 17:52 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
Степан Митькин писал(а): Р-схемы - они прикольные. Такой "ДРАКОН на боку". А если силуэт добавить, то тогда уж совсем похоже. Однако, есть и разница: 1. События разворачиваются слева направо. По-моему, сверху вниз более привычно. Это как текст читать. 2. Отсутствие икон: - Иконы всё-таки неплохо структурируют картину. Они чётко отделяют графический синтаксис от текстового. А Р-схему надо напряжённо сканировать глазом, чтобы понять, к какой точке графа относится данный кусок текста. - Иконы имеют разную форму. Форма быстро угадывается глазом. А как Вам такой ДРАКОН: В первой ветке - параллельные процессы, во второй - обычные "однопоточные" вопрос и выбор. Кстати, могут ещё и адреса/имена веток отсутствовать, если переход по шампурам последовательный. Я когда первый раз увидел Р-схемы, то первая же мысль была: так наш же "изуродованный ДРАКОН" даже в ГОСТах есть ! Конечно, это результат "ручной работы". Драконо-строение далеко не основной процесс разработки, на рисование не хватает времени, часто схемы набрасываются во время коллективных совещаний по ходу дела, или что-то для себя рисуешь и после с десятка "квадратиков" уже понимаешь проблему и бумажка выбрасывается. Иногда выполняется и полноценное оформление диаграмм, в т.ч. и в граф-редакторе. Здесь срабатывает принцип: "будь попроще, и народ потянется". Началось как-то случайно, когда попросили специалистов из прикладной области разрисовать алгоритмы расчётов. Они смутно помнили про блок-схемы, им подсказали про ромбик и "выбор". В результате они вручили нам художества из "квадратиков" со словами "вам шашечки или ехать ?". И действительно, какого-то недопонимания не было, в любом случае, без сущности (текста) в квадратиках никак не прожить. Повторюсь, действительно, при отсутствии икон в Р-схемах важно грамотно (т.е. наглядно) привязать текст к нужной дуге. Р-графы, как и ДРАКОН-схемы, хорошо упорядочены, поэтому если красиво чертить, то глаз всё хорошо различает. Последовательность икон сверху вниз в ДРАКОНе, безусловно, легко воспринимается, но текст мы читаем как раз слева направо, поэтому и в Р-схемах последовательность эргономична (при необходимости граф можно развернуть для "инакочитающих"). Но здесь, действительно есть нюанс. Так как схемы растут горизонтально, и текст пишется также, то количество дуг в "шампуре" (по одной линии) влезет не так уж и много. Поэтому эффективны схемки такого плана: где под дугой собираются несколько действий, объединенные в логическую группу, т.е. "экономим", так сказать. В идеале хотелось бы, чтобы схемы "легко" росли во все стороны: слева направо и сверху вниз (как некие шампура, но тут ещё нужно думать). А в плане экономии места Дракон тоже не "малолитражка", кушает "будь здоров", особенно, если иконы имеют весьма содержательный текст. |
Автор: | PSV100 [ Среда, 15 Август, 2012 18:18 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
Kemet писал(а): PSV100 писал(а): Поэтому, если уже "рисовать" монады, то делать это желательно также, как и для императивной схемы, т.е. наглядно через направленный граф раскрывать все продвижения по маршруту, в т.ч. и показывая все рекурсии, т.е. через явные циклы. В принципе, рекурсии полезно раскрывать и не только в монадах. Поэтому вписать "в лоб" Хаскель во внутрь схемы как-то проблематично, возможно, но не эффективно. Иными словами, граф-схемы не всегда "одинаково полезны". Необязательно. Специальная дуга на то и специальная, что для нее и для соединений на ее основе по госту семантика не определена. Она определяется при создании реализации под конкретное применение/язык программирования. Так, к примеру для графического паскаля/модуры/ассемблера из комплекса ртк-микро таким образом были определены цикл дейкстры и цикл-паук... Для хаскеля можно определить более близкую ему семантику для конкретной конструкции. Вполне возможно, что и Хаскель удастся адекватно вписать в схемы. Но пока на повестке дня вопрос о графическом функциональном программировании у меня не возникает (но я не исключаю его в будущем, и это вполне реально), поэтому конкретных идей сейчас нет. С чем я соглашусь, так это то, что Р-схемы для таких случаев лучше приспособлены, чем ДРАКОН. |
Автор: | PSV100 [ Среда, 15 Август, 2012 19:58 ] |
Заголовок сообщения: | Re: ДРАКОН vs Р-схемы |
Владимир Паронджанов писал(а): Уважаемый PSV100! Пользуясь случаем, я выписал перечень недостатков ДРАКОНа из Вашего последнего сообщения: Цитата: НЕДОСТАТКИ ЯЗЫКА ДРАКОН Я отчетливо понимаю, что это не полный перечень Ваших вопросов (или претензий) к ДРАКОНу. А всего лишь примеры. (по мнению PSV100) 1. Нет хорошего способа схематично указать выполнение параллельных процессов, если говорить о доалгоритмической диаграмме (эта проблема здесь на сайте неоднократно всплывает). 2. Не всегда лекарство избегания пересечений лучше, чем это пересечение явно показать. 3. Есть неоднозначность в полезности использования веточных циклов. Цель перечня — помочь Вам (если Вы захотите) дополнить этот список до нужного уровня, чтобы получился полный перечень недостатков. В целом, вспомнить все нюансы как-то и не могу, тем более все "проблемы" были "решены" по мотивам этого поста, хоть и варварским способом. Конечно, этот беспредел хотелось бы ликвидировать (а может "узаконить" ). К этому списку можно добавить отсутствие эффективной среды для составления схем. Сейчас я имею в виду отсутствие методики, по которой можно быстро и надёжно выстраивать диаграммы. Эта проблема частично недавно была затронута в этой теме. К примеру, я редко использовал редактор Тышева и не являюсь большим спецом, но, как я понимаю, нет однозначного алгоритма сохранять схему всегда в валидном состоянии (скажем, без потерь связей) при любой правке вершин (и дуг). С одной стороны, по сравнению с текстовыми языками программирования ликвидирована часть проблем, связанных с неоднозначностью форматирования текста (как скобочки ставить, какие отступы делать и пр.), но с другой, семантика ДРАКОН-языка не даёт однозначного удобного способа для лёгкой, прежде всего, переделки схемы. Что-то сказать конкретное по этому вопросу относительно Р-схем я не могу, пока эту проблему глубоко не исследовал, тем более Р-схемы предполагают различную свою трактовку в зависимости от способа применения. |
Страница 1 из 13 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |