Язык графического программирования
Я вижу Simulink или LabVIEW(G) довольно популярным в области управления или приборостроения. В ESL-дизайне я вижу, что Agilent SystemVue набирает популярность.
Если вы видите хорошо зарекомендовавшую себя теорию компилятора, то почти на 100% речь идет о текстовом языке. Но как насчет графического языка?
Есть ли какие-либо заметные исследования или дискуссии о графическом языке программирования? С точки зрения
- Теория о графическом языке - синтаксический / семантический анализ и все, что уместно
- выразительность (На самом деле, я задал вопрос об этом в SO - Что вы подразумеваете под выразительностью языка программирования?)
- Возможность графического языка
- ...
Или что вы думаете о графическом языке программирования?
10 ответов
DRAKON - это блок-схема, оптимизированная для удобства чтения.
http://drakon-editor.sourceforge.net/DRAKON.pdf
Есть редакторы, которые могут генерировать исходный код на C, C++, Python и Tcl.
Например: http://drakon-editor.sourceforge.net/python/python.html
Я слышал об одном таком языке, который называется DRAKON. Он был разработан для космического проекта в Буране и теперь, кажется, возрождается (язык, а не Буран =)). Единственная проблема в том, что большинство материалов об этом языке на русском языке. В любом случае, я дам вам несколько ссылок:
- Статья в русской википедии.
- OberonCore форум подраздел DRAKON на русском языке.
- ДРАКОН + Оберон = DRON язык визуального программирования на английском языке.
Не знаю ничего о теории, но в Lego MindStorms есть отличная графическая среда программирования для программирования набора инструментов робота NXT (на основе компонентов LabView), которым чрезвычайно интересно пользоваться.
Для детей это, кажется, очень простая среда, в которой можно научиться программировать, например, настраивая функциональность существующих программ или следуя инструкциям. Когда английский (или любой другой письменный язык в этом отношении) не так хорошо понят, графическая среда делает его намного проще в использовании, чем любой письменный текстовый язык.
Графический язык, возможно, "прост" в том смысле, что существует только одна конструкция цикла, одна конструкция переключателя и набор функций "высокого" уровня, но я считаю, что она подходит для этой цели.
http://nimotoons.com/ - это 100% графический язык разработки, основанный на функциональных языках. это от UPC и все еще в стадии строительства
Немного поздно, но я также могу порекомендовать IBM / Rational Rose Realtime (коммерческий). Имейте в виду, что это нечто отличное от "Rational Rose".
http://www-01.ibm.com/software/awdtools/developer/technical/
Вы также должны попробовать YAWL, который имеет довольно хороший опыт программирования рабочего процесса в графическом виде, вы можете увидеть:
Посмотрите шаблоны рабочих процессов, которые, я думаю, являются действительно хорошей теоретической основой для подхода к графическому программированию.
Quartz Composer представляет графический интерфейс для построения рабочих процессов композиции изображений. (Я думаю, что это будет считаться "языком программирования".)
Вы можете попробовать Cameleon: http://www.shinoe.org/cameleon который кажется простым в использовании. Он написан на C++, но может вызывать любые типы локальных или удаленных программ, написанных на любом языке программирования.
Он имеет многомасштабный подход и, кажется, завершается (это расширение сети Петри).
Sheers, Myosis.sh