Оно как-то очень плохо экспортируется в что-то автоматически читабельное для дальнейшей работы с ним. Мне же нужна сама структура получившегося алгоритма, а не код на мне ненужном языке...
Ну тогда это что-то в сторону BPMN, но это совсем другой калибр и целевая аудитория :)
Если уж техники освоили CSV, может они YAML осилят? Но в этом опять не слишком много смысла, потому как там где завелись IFы - жди циклов, а там и функции с рекурсией и классами подоспеют. Может сразу LUA? Она, собственно, для того и создавалась.
Каждое поколение пытается придумать графический язык программирования (ещё с 60-х годов прошлого века) и эти языки регулярно умирают. Но таки да, пробовал, детям на scratch значительно проще программировать, чем на python. Так что определённая ниша есть для подобных решений.
То, что я затеял, программированием назвать можно очень с натяжкой.
Оно, скорее, должно быть языком описания алгоритмов. Потому что то, что в конце концов "выплюнется" - это будет "программа" на еще одном графическом языке (функциональных блоковых диаграмм). Никаких переменных, очень скудные циклы, предопределенный спимок возможных действий.
Наиболее близким аналогом можно себе представить протокол общения с каким-нибудь умным устройством: "Чтобы запустить функцию пооверки, зайдите в меню Блокировка, введите пароль, затем зайдите в меню Единицы Измерения, прочитайте установленные единицы и если там стоит Килограммы, зайдите в меню Симуляция и введите значение 20 Килограмм, выйдите из меню, подождите 20 секунд и заблокируйте устройство".
А теперь все это делаем через бинарную консоль.
Все понимают, что делать, но понятия не имеют, какие байты куда посылать. Поэтому я хочу предложить писать программу на псевдоязыке, который содержит список возможных действий, а конкретные посылания байтов перенимает моя реализация.
Да я жеж не спорю. Мы подобный визуальный язык выдали геймдизайнерам для некоторой кастомизации абилок персонажей. Альтернативный подход - это взять какой либо скриптовый язык (python/lua), прикрутить к нему редактор с autocomplete/списком глобальных объектов и сделать несколько wizard для типовых операций. Но это конечно уже требует от пользователя несколько более сложных телодвижений. Но тут значительно больше возможностей для роста сложного поведения.
Comments 10
https://developers.google.com/blockly/
Reply
Reply
Если уж техники освоили CSV, может они YAML осилят? Но в этом опять не слишком много смысла, потому как там где завелись IFы - жди циклов, а там и функции с рекурсией и классами подоспеют. Может сразу LUA? Она, собственно, для того и создавалась.
Reply
Reply
Reply
раскрыл
Reply
Reply
Оно, скорее, должно быть языком описания алгоритмов. Потому что то, что в конце концов "выплюнется" - это будет "программа" на еще одном графическом языке (функциональных блоковых диаграмм). Никаких переменных, очень скудные циклы, предопределенный спимок возможных действий.
Наиболее близким аналогом можно себе представить протокол общения с каким-нибудь умным устройством: "Чтобы запустить функцию пооверки, зайдите в меню Блокировка, введите пароль, затем зайдите в меню Единицы Измерения, прочитайте установленные единицы и если там стоит Килограммы, зайдите в меню Симуляция и введите значение 20 Килограмм, выйдите из меню, подождите 20 секунд и заблокируйте устройство".
А теперь все это делаем через бинарную консоль.
Все понимают, что делать, но понятия не имеют, какие байты куда посылать. Поэтому я хочу предложить писать программу на псевдоязыке, который содержит список возможных действий, а конкретные посылания байтов перенимает моя реализация.
Reply
Альтернативный подход - это взять какой либо скриптовый язык (python/lua), прикрутить к нему редактор с autocomplete/списком глобальных объектов и сделать несколько wizard для типовых операций. Но это конечно уже требует от пользователя несколько более сложных телодвижений. Но тут значительно больше возможностей для роста сложного поведения.
Reply
Reply
Leave a comment