Это часто возникает: ваше приложение стало достаточно обширным, и пришло время добавить в него некоторую программируемость, чтобы сделать его гибким. Одним из примеров может быть приложение для финансирования - вы хотите добавить редактор формул, чтобы вы могли создавать свои собственные формулы без необходимости повторной компиляции кода.Создание DSL против встраивания существующего языка
Вы должны сделать выбор: создаете ли вы свой собственный токенизатор, парсер и интерпретатор/цепочку компилятора, что может занять много времени и может быть сделано неправильно? Или вы просто вставляете другой язык сценариев, у которого есть проблема, что он, вероятно, раздует ваш код и подвергает ваше приложение уязвимостям безопасности.
Как бы вы отбалансировали компромиссы и приняли это решение?
Если я встрою что-то вроде Python или perl, мне придется пройти через многое, чтобы убедиться, что они не могут выполнить произвольный код, не так ли? – Claudiu 2008-11-25 18:17:23