Язык макросов / сценариев для не-разработчиков с простым графическим редактором - PullRequest
6 голосов
/ 14 ноября 2008

Мы хотим предоставить людям возможность добавлять логику в свои учетные записи (скажем, с учетом нескольких аргументов, как вычислить конкретный результат). Поэтому, по сути, это было бы равносильно написанию простых бизнес-правил с поддержкой условных выражений и выражений. Однако задача состоит в том, чтобы предоставить им простой онлайн-редактор, в котором они могут создавать логику (предпочтительно) полностью визуальными средствами (возможно, перетаскивание узлов Expr-дерева - вроде Y! Pipe).

Кто-нибудь знает язык сценариев / макросов / доменов, который позволяет людям делать это? Сложность заключается в визуальном редакторе, поскольку мы не хотим вкладывать средства в разработку пользовательского интерфейса для редактирования. Основные требования будут:
1. Встроенный в другой язык или работает безопасно (без reboot -n или <JUNK-DANGEROUS-COMMAND> >> ~/.bashrc)
2. Легкодоступный для пользователей без фона кодирования (не требуется никаких дополнительных функций)
3. Желательно иметь простой редактор на основе графического интерфейса для создания логических программ, доступных для не разработчиков (вроде электронных таблиц)
4. Хорошая способность генерировать предупреждения во время компиляции (неверный код) (Тип безопасности?)
5. Возможность встраивать некоторые данные перед выполнением, которые доступны интерпретатору (например, name, birthday, amount)

Кто-нибудь пытался сделать что-то подобное и получил какие-нибудь идеи? Я посмотрел на Lua, Io, Python, Ruby и множество других, но, по сути, проблема в том, что я не думаю, что непрограммисты смогут понять код так много. Что-то, что можно добавить через «метапрограммирование», чтобы сказать, что Ruby также был бы хорош, если бы редактор мог быть легко разработан!

Ответы [ 4 ]

2 голосов
/ 14 ноября 2008

На самом деле, Microsoft разрабатывает Осло , который находится прямо на вашей аллее. Крис Селлс много писал об этом в последнее время.

Он предназначен для создания DSL, а также для визуального создания этих моделей с помощью графического инструмента Quadrant. Звучит очень похоже на то, что вы ищете.

Мудрый с открытым исходным кодом, Ruby, я думаю, может быть близко, как вы можете видеть, если вы посмотрите на _whytheluckystiff's Try Ruby или Hackety .

0 голосов
/ 15 ноября 2008

На другом конце шкалы написано что-то простое, например, приложение HyperText (HTA) - конечно, для Windows - в соответствии с моим Clive инструментом. В статье в блоге не упоминается версия HTA, но, по сути, я мог бы ввести код VBScript-ish в одну текстовую область и интерпретировать ее на месте, выводя в другую текстовую область формы.

С HTA, дающим вам полный контроль над формой HTML, плюс DOM, вы можете довольно быстро придумать что-нибудь интересное.

0 голосов
/ 15 ноября 2008

Я бы взглянул на PowerShell. Вы можете вспомнить все действия, которые пользователь хотел бы написать в очень удобочитаемом виде. Говорят об использовании PowerShell для создания DSL на блоге команды PowerShell , а технический руководитель Брюс Пайетт рассказывает об этом в своей книге Windows PowerShell в действии от Мэннинга.

0 голосов
/ 14 ноября 2008

Не думаю, что вы найдете что-то не слишком общее, особенно в отношении редактора GUI. Насколько мне известно, не существует универсальных инструментов, которые бы могли автоматически взаимодействовать с вашей программой и иметь возможность запрашивать данные из нее и интерпретировать сценарий в команды в вашем программном обеспечении - если бы я хотел получить копию. Не быть легкомысленным, но вам придется сделать некоторую (вероятно, много) работу, чтобы заставить это работать. Это, вероятно, приведет к написанию пользовательского DSL.

...