Насчет чего-то своего "по мотивам" хайасма я тоже почти созрел для собственной "попытки к бегству" но я считаю что нужно идти от КОДА к СХЕМЕ .
Точнее попытаться реализовать трансляцию произвольного кода на ЯВУ в схему и обратно . (Причем генерируемый код должен быть ВНЯТНЫМ хорошо структурированным Все схема-технические настройки и структурные надстройки можно прятать в промежуточный "грязный-код" в виде комментариев то есть в принципе не будет некого промежуточного не чем не компилируемого кода )
Чем такой подход хорош ?
1 Тем что можно легко преходить от схемы к коду и обратно без потери качества того и другого . ( Посмотрел и поправил в графике потом вернулся к коду вел несколько формул и вернулся обратно в графический схемо-код )
2 Тем что можно легко переходить от одного ЯВУ к другому
(По сути мы по совместительству получим "универсальный переводчик" практически между любыми языками программирования )
3 Все структурные надстройки и дополнения(на пример визуальную генерацию форм ) можно вводить без изменения в ядре механизмов трансляции схем в яву (где забит только самый низкий уровень) по сути добавляя только шаблон-макрос)
Минусы
1 Не вполне понятна архитектура самого схемотехнического языка
(То есть понятно что на нижнем уровне должен быть отражен каждый основной элемент ЯВУ (if for while case := Var Type и тд )
Но совершенно понятно что на среднем и высоком уровне должно быть что-то иное иначе теряется удобство схемотехнического стиля )
2 Есть желание полностью избавится от "стековой пробки " и "кольцевания" как главных бичей Хайасма
Сделать нормальное ООП без недостатков ХайАсма
Но пока все слишком размыто и трудно представимо именно в графической форме ... (Как представить универсальный механизм записи классов в потоки как показать наследование или универсальные коллекции? )
Понятно что низкоуровневый код можно просто показать как обычный алгоритм, но наглядность подобного представления крайне сомнительна ...
Зы
Пока есть столбовая идея "Контейнер"
var - Контейнер
Type - Контейнер
Класс - Контейнер
porocedure - Контейнер
Begin end - Контейнер
Все прочие операторы типа (if then else ...) имеют поля условий и/или место(или места) для одного контейнера на схеме контейнер показывается одним кубиком который можно открыть кликом мыши ...
Потоков в понимании хайАсма в проекте пока нет (Но возможны надстройки ) имеется одна линия "ход исполнения" и ветвления происходят только в "глубину" через механизмы контейнеров а еще доступно "дерево премьерных" что-то вроде объектной навигации в современных ИДЕ )
Но все это спасет только на среднем уровне (уже форму представить так сложно .)
Ответов: 964
Рейтинг: 12
|
|||
карма: 0 |
|