Помимо предоставления API для моего веб-сайта, я хотел бы предложить пользователям возможность писать простые сценарии, которые будут работать на моих серверах. Сценарии будут иметь доступ к объектам, принадлежащим пользователю, и смогут манипулировать, изменять и иным образом обрабатывать их данные.
Я хотел бы иметь возможность ограничивать ресурсы, используемые этими сценариями, на точном уровне (например, максимальное время выполнения должно составлять 100 мс). Я также хотел бы обеспечить безопасную песочницу, чтобы каждый пользователь имел доступ только к ограниченному набору данных и ресурсов и не мог получить доступ к диску, чужим данным и т. д.
Как правило, сценарии будут очень простыми (например, создать сумму или среднее значение значений, соответствующих определенным критериям), и они часто будут использоваться в шаблонах (например, заполнить значение этой ячейки или элемента html средним или сумма).
В идеале я хотел бы использовать изолированное подмножество хорошо известного, общедоступного языка программирования, чтобы пользователям было легко его освоить. Серверная часть написана на Python, поэтому язык на основе Python может иметь преимущества, но я открыт для других языков и технологий. Javascript также привлекателен своей простотой и общедоступностью.
Языки должны поддерживать создание DSL и библиотек.
Целевая аудитория — это общая пользовательская база веб-приложения, не обязательно очень техническая. Другими словами, он не предназначен для людей, обладающих особым знанием какого-либо конкретного языка программирования. Я ожидаю, что часть пользователей создаст сценарии, которые будут использоваться подавляющим большинством.
Любые идеи или рекомендации по языку и технологии? Какие-нибудь примеры других, пытающихся это сделать, а также успехов и неудач, с которыми они столкнулись?