Zenitchik
Вы правы.
Обратите внимание. Пользователю запрещено проводить соединительные линии между фигурами. Линии проводит автоматичски программа ДРАКОН-конструктор.
Фишка в том, что ошибки в разветвлениях и циклах могут быть более неприятными, чем ошибки на линейных участках программы.
Язык ДРАКОН сокращает число ошибок.
Роман Озеров пишет: (https://bit.ly/2NHnYzb см. комментарии к видео)
Я на ДРАКОНе работаю уже 6 лет.
Любое создание программы начинаю с него и при отладке работаю только с ним.
Скорость разработки, качество возрастает в разы!
ДРАКОН это сила, но многие не догоняют, думают, что это обычная блок-схема...
1div0
Посмотрите главу 2 стр. 22—50 и еще стр. 53, 54 в книге:
Паронджанов В.Д. Алгоритмы и жизнеритмы на языке ДРАКОН. Разработка алгоритмов. Безошибочные алгоритмы. — М., 2019. — 374 с. — drakon.su/_media/24_zhizneritm20.pdf
Возможность программировать мышью — хорошо, но отсутствие возможности программировать без мыши — это фатальный недостаток, с которым язык не может жить.
Следует различать язык и его инструментальную программу, например ДРАКОН-конструктор.
Решить проблему графики ДРАКОНа можно с помощью быстрых клавиш. Один из разработчиков ДРАКОН-конструктора действительно решил эту проблему с помощью быстрых клавиш.
К сожалению, он не выложил свою программу в общий доступ.
Можно и так считать (что дополнение). Сейчас ДРАКОН попадает в хаб «Ненормальное программирование», а это неправильно. Язык ДРАКОН должен относиться к хабу Визуальное программирование.
Zenitchik Чтобы пользоваться языком ДРАКОН для программирования, нужно иметь инструментальную программу, которую я называю ДРАКОН-конструктором.
Я описал строгие требования к ДРАКОН-конструктору. Сегодня имеются три ДРАКОН конструктора Геннадия Тышова и Степана Митькина (2 шт.). Это их дело, как трактовать ветку.
Для меня важно, чтобы выполнялись мои требования к ДРАКОН-конструктору. Все остальное автор программы ДРАКОН-конструктор определяет по своему усмотрению.
Зенитчик, если вы захотите разработать свой ДРАКОН-конструктор, вы вправе трактовать ветку по своему усмотрению (но с учетом моих требований).
На Хабре нужен новый хаб — Визуальное программирование (Visual programming), как антипод традиционного Текстового программирования (Textual programming).
На Хабре есть несколько статей, посвященных языку ДРАКОН.
Они, в частности, ссылаются на хаб «Ненормальное программирование».
Это некорректно. Нужно, чтобы язык ДРАКОН относился к хабу «Визуальное программирование».
Уточню. Пользователь языка ДРАКОН может по своему усмотрению трактовать дракон-схему силуэт
— либо как конечный автомат,
— либо нет (то есть как обычный процедурный подход).
Например, в инструментальной программе «ИС Дракон» Геннадия Тышова предусмотрены три режима работы:
— Автомат 1;
— Автомат 2;
— Процедурное программирование.
Автором режимов «Автомат 1» и «Автомат 2» является Сергей Дмитриевич Ефанов (Липецк).
У диаграммы деятельности более широкое применение. Ей можно описывать параллельные процессы и их взаимодействие. Круглишки, в которые сходятся стрелки, имеют возможность размещать иконки AND, OR, XOR.
Отвечу на тезис про «размещать иконки AND, OR, XOR».
В языке ДРАКОН вопрос решен иначе — без знаков логических связок (так как они являются источниками ошибок).
Использован принцип «конъюнкция без знака конъюнкции»,
«дизъюнкция без знака дизъюнкции».
Посмотрите книгу «Паронджанов В.Д. Алгоритмы и жизнеритмы на языке ДРАКОН. Разработка алгоритмов. Безошибочные алгоритмы. — М., 2019. — 374 с. — Иллюстраций: 195». drakon.su/_media/24_zhizneritm20.pdf
Часть 3. Алгоритмическая логика. Математическая логика в алгоритмах. Визуальная алгебра логики
Глава 12. Логические операции И, ИЛИ, НЕ
Глава 13. Логическая функция И
Глава 14. Логическая функция ИЛИ
Глава 15. Как удалить логические связки из логических выражений
Глава 16. Канонические логические схемы
Глава 17. Логическая функция «исключающее ИЛИ»
Глава 18. Сложные логические функции
Zenitchik Повторяю еще раз. Глядя на дракон-схему, вы не увидите goto даже под микроскопом.
Помогаю вам читать — там написано «Приручение попугаев», «Учимся говорить». Где вы видите goto? Нигде не написано goto!
Похоже, что у вас плохо со зрением. Вы видите то, чего на схеме нет.
Ваш рисунок подтвердает, что на дракон-схеме нет оператора goto.
Единственный случай, когда это может быть полезно, а не вредно — описание конечного автомата. Но вряд ли кому-то придёт в голову представлять конечный автомат в виде дракон-схемы.
Дракон-схема силуэт — это и есть конечный автомат.
Рекомендую вам прочитать статью «Митькин С.Б. Автоматное программирование на языке ДРАКОН // Программная инженерия. Том 10, № 1, 2019» drakonhub.com/files/pe_drakon_automata_mitkin_2019.pdf
В Драконе есть очень вредная концепция: указание в конце ветки, какая ветка должна выполняться следующей. Самый настоящий GOTO, причём там, где лучше было бы обойтись без него. Нужны какие-то более адекватные правила управления порядком выполнения веток
В ДРАКОНе нет оператора goto и никогда не было.
Глядя на дракон-схему, вы не увидите goto даже под микроскопом.
«Самый настоящий goto», о котором вы пишете, формируется автоматически (а не пишется вручную). А это совсем другое дело.
На уровне машинных команд вы найдете много команд перехода, так как любой цикл и любое ветвление на уровне машинных команд реализуются командой перехода jump или ее аналогами.
В Драконе есть очень вредная концепция: указание в конце ветки, какая ветка должна выполняться следующей… Нужны какие-то более адекватные правила управления порядком выполнения веток
Ничего вредного здесь нет.
Это недоразумение. Ветка бывает не только одноадресной (как вы предполагаете), но и многоадресной, то есть имеющей две и больше икон Адрес.
aftertherainbow Вы правы, язык ДРАКОН является аналогом диаграммы деятельности (activity diagram) языка UML.
Преимущества ДРАКОНа таковы:
— графика ДРАКОНа строится методом визуального логического вывода из двух визуальных аксиом: аксиомы-примитив и аксиомы-силуэт. Это означает, что графика является почти безошибочной.
— Язык ДРАКОН опирается на идеи когнитивной эргономики. То есть идея алгоритма соединяетс с идеей когнитивной эргономики. Алгоритмы становятся эргономичными (people-friendly). Это дает повышенную ясность и удобство в работе и так; е работает на минимизацию числа ошибок.
Это не так. Вот пример. На видео показана установка глубокой переработки широкой фракции легких углеводородов (ШФЛУ) Южно-Балыкского газоперерабатывающего завода компании «Сургутнефтегаз» и шкаф управления установкой, где используется управляющая программа, 70%-80% которой написано на языке ДРАКОН.
Программа загружается в энергонезависимую память Сенсорного программируемого контроллера СПК 107 М01 фирмы ОВЕН.
Вы имеете в виду ошибки в условных выражениях.
В языке ДРАКОН можно обойтись без условных выражений, используя принцип «Конъюнкция без знака конъюнкции»,
Дизъюнкция без знака дизъюнкции".
Вы правы.
Обратите внимание. Пользователю запрещено проводить соединительные линии между фигурами. Линии проводит автоматичски программа ДРАКОН-конструктор.
Фишка в том, что ошибки в разветвлениях и циклах могут быть более неприятными, чем ошибки на линейных участках программы.
Язык ДРАКОН сокращает число ошибок.
Роман Озеров пишет: (https://bit.ly/2NHnYzb см. комментарии к видео)
Желтые кружки обозначают валентные точки.
Посмотрите главу 2 стр. 22—50 и еще стр. 53, 54 в книге:
Вы правы, когда говорите, что язык ДРАКОН обеспечивает «создание отказоустойчивых алгоритмов».
Но вы не правы, когда говорите, что язык ДРАКОН предназначен для «создания небольших алгоритмов».
Как раз наоборот. Чем больше и сложнее алгоритм, тем больше выигрыш от использования языка ДРАКОН.
Спасибо за критику. Я учел ваше замечание и полностью переписал текст статьи.
Следует различать язык и его инструментальную программу, например ДРАКОН-конструктор.
Решить проблему графики ДРАКОНа можно с помощью быстрых клавиш. Один из разработчиков ДРАКОН-конструктора действительно решил эту проблему с помощью быстрых клавиш.
К сожалению, он не выложил свою программу в общий доступ.
Я описал строгие требования к ДРАКОН-конструктору. Сегодня имеются три ДРАКОН конструктора Геннадия Тышова и Степана Митькина (2 шт.). Это их дело, как трактовать ветку.
Для меня важно, чтобы выполнялись мои требования к ДРАКОН-конструктору. Все остальное автор программы ДРАКОН-конструктор определяет по своему усмотрению.
Зенитчик, если вы захотите разработать свой ДРАКОН-конструктор, вы вправе трактовать ветку по своему усмотрению (но с учетом моих требований).
На Хабре есть несколько статей, посвященных языку ДРАКОН.
Они, в частности, ссылаются на хаб «Ненормальное программирование».
Это некорректно. Нужно, чтобы язык ДРАКОН относился к хабу «Визуальное программирование».
Уточню. Пользователь языка ДРАКОН может по своему усмотрению трактовать дракон-схему силуэт
— либо как конечный автомат,
— либо нет (то есть как обычный процедурный подход).
Например, в инструментальной программе «ИС Дракон» Геннадия Тышова предусмотрены три режима работы:
— Автомат 1;
— Автомат 2;
— Процедурное программирование.
Автором режимов «Автомат 1» и «Автомат 2» является Сергей Дмитриевич Ефанов (Липецк).
Отвечу на тезис про «размещать иконки AND, OR, XOR».
В языке ДРАКОН вопрос решен иначе — без знаков логических связок (так как они являются источниками ошибок).
Использован принцип «конъюнкция без знака конъюнкции»,
«дизъюнкция без знака дизъюнкции».
Посмотрите книгу «Паронджанов В.Д. Алгоритмы и жизнеритмы на языке ДРАКОН. Разработка алгоритмов. Безошибочные алгоритмы. — М., 2019. — 374 с. — Иллюстраций: 195».
drakon.su/_media/24_zhizneritm20.pdf
А вы пробовали этот дракон-конструктор drakonhub.com
Какое у вас сложилось мнение?
В качестве одного из примеров назову онлайн программу DrakonHub Степана Митькина drakonhub.com
Помогаю вам читать — там написано «Приручение попугаев», «Учимся говорить». Где вы видите goto? Нигде не написано goto!
Похоже, что у вас плохо со зрением. Вы видите то, чего на схеме нет.
Ваш рисунок подтвердает, что на дракон-схеме нет оператора goto.
Дракон-схема силуэт — это и есть конечный автомат.
Рекомендую вам прочитать статью «Митькин С.Б. Автоматное программирование на языке ДРАКОН // Программная инженерия. Том 10, № 1, 2019» drakonhub.com/files/pe_drakon_automata_mitkin_2019.pdf
В ДРАКОНе нет оператора goto и никогда не было.
Глядя на дракон-схему, вы не увидите goto даже под микроскопом.
«Самый настоящий goto», о котором вы пишете, формируется автоматически (а не пишется вручную). А это совсем другое дело.
На уровне машинных команд вы найдете много команд перехода, так как любой цикл и любое ветвление на уровне машинных команд реализуются командой перехода jump или ее аналогами.
Ничего вредного здесь нет.
Это недоразумение. Ветка бывает не только одноадресной (как вы предполагаете), но и многоадресной, то есть имеющей две и больше икон Адрес.
Это вовсе не единичный проект (хотя и не массовый). Это один из проектов Алексея Муравицкого — системного интегратора фирмы Овен.
Насчет контроля версий вы правы. Этот недостаток надо устранять
Преимущества ДРАКОНа таковы:
— графика ДРАКОНа строится методом визуального логического вывода из двух визуальных аксиом: аксиомы-примитив и аксиомы-силуэт. Это означает, что графика является почти безошибочной.
— Язык ДРАКОН опирается на идеи когнитивной эргономики. То есть идея алгоритма соединяетс с идеей когнитивной эргономики. Алгоритмы становятся эргономичными (people-friendly). Это дает повышенную ясность и удобство в работе и так; е работает на минимизацию числа ошибок.
0
Это не так. Вот пример. На видео показана установка глубокой переработки широкой фракции легких углеводородов (ШФЛУ) Южно-Балыкского газоперерабатывающего завода компании «Сургутнефтегаз» и шкаф управления установкой, где используется управляющая программа, 70%-80% которой написано на языке ДРАКОН.
Программа загружается в энергонезависимую память Сенсорного программируемого контроллера СПК 107 М01 фирмы ОВЕН.
Подробности по ссылке youtu.be/_XOuhV_8N_I