Description
Доклад для тех, кому требовалось дать пользователям возможность расширять приложение при помощи скриптов или макросов. К этом часто приходят разработчики приложений для продвинутых пользователей, у которых невозможно заранее прописать все варианты использования - как правило, это проекты для бизнес-пользователей.
Когда стало понятно что это нужно, сразу возникает много проблем: есть очень большой простор для выбора решения и много граблей. Например: встроить чужой язык, или сделать свой? Если чужой, как правильно организовать песочницу, которая не даст выполнить произвольный код? Как устроить API и выбрать нужный уровень абстракции? Как показать пользователю ошибки, как лучше организовать документацию, как обучить новых пользователей? Когда это вообще оправдано?