Зачем мне добавлять скриптовый движок в мои автономные приложения

Я хотел бы знать, в каких сценариях мне поможет встраивание языка сценариев в моих проектах C.

Я слышал о lua, который разработчики встраивают в свои проекты в расширение своих программных приложений, но почему разработчики предпочитать расширяют свои приложения, используя некоторый механизм сценариев, а не основной язык?

@Bob__ этот вопрос не подходит по тем же причинам, что и здесь. Пожалуйста, не рекомендуйте сайты, с которыми вы не знакомы. См. Также: Чем занимается программная инженерия (ранее известная как «Программисты»)? Руководство по переполнению стека

gnat 26.10.2018 11:03

@gnat Отметил. Спасибо.

Bob__ 26.10.2018 11:31
1
2
263
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Это в основном сводится к тому, кто в конечном итоге использует ваши приложения и для чего они это используют. Если приложение не требует индивидуальной настройки, скрипты не нужны. Новые функции могут быть добавлены как часть приложения.

Однако, как и в случае с игровыми движками, если пользователям нужно создать / скрипт настраивать поведение в приложении, у них должен быть какой-то способ сделать это. Вы можете попытаться заставить своих пользователей писать свои сценарии на языке приложения, однако в случае C и многих других языков для этого потребуется перекомпилировать код приложения (не говоря уже о том, что ваши пользователи могут не программисты и могут извлечь выгоду из языка сценариев более высокого уровня).

Добавляя механизм сценариев, вы позволяете своим пользователям добавлять свои собственные (ограниченные) функции в приложение без необходимости понимать или перекомпилировать всю кодовую базу.

tl; dr Механизмы сценариев имеют смысл, если вашим пользователям необходимо регулярно добавлять пользовательские поведения в приложение.

Относительно вашего «сценарного» вопроса: добавление скриптового движка к вашему автономному (например, C или C++) приложению - это самый прямой способ совместить производительность выделенного движка с опытом ваших опытных пользователей.

Независимо от области вашего автономного приложения, благодаря способности писать сценарии опытный пользователь обычно сможет максимально использовать его, создав специальный или проектно-ориентированный рабочий процесс.

Интерфейс сценария обеспечивает безопасную и надежную среду, подходящую для таких пользователей, чьи основные навыки обычно не связаны с C / C++.

Это приводит к вашему второму вопросу: API сценариев (например, с использованием Lua или Squirrel) имеет смысл, если для основного языка требуются навыки программирования на низком уровне. Как правило, приложение, написанное на C++, требует от опытных пользователей написания подключаемых модулей с использованием C++ SDK. Напротив, если ваше автономное приложение написано на Python, преимущества встраивания Lua, на мой взгляд, далеко не очевидны.

Другие вопросы по теме