Lua тривиально встроить, но API расширения ниже уровня V8. Это стековый API, и у вас есть несколько примитивов для работы. Он не менее мощный, он очень надежный и никоим образом не ограничивает вас, и если вы просто хотите экспортировать глобальные функции в язык, это не составит труда. Однако экспорт объектов C ++ в Lua требует, чтобы вы понимали метатаблицы Lua, и поначалу это может показаться очень запутанным. V8, вероятно, делает это более простым.
Если вы хотите, чтобы API встраивания Lua работал больше для вас, есть библиотеки, такие как Luabind или ToLua ++. Lua не заставляет вас платить за то, что вы не используете.
Я лично не стал бы Javascript над Lua. Javascript - удивительно хороший язык, учитывая, что один инженер написал его за несколько недель, но у Lua было намного больше времени и мыслей. Это жемчужина CS, использующая небольшой набор тщательно отобранных концепций. Он делает все, что делает Javascript, но лучше. Он имеет правильную лексическую область видимости, хвостовую рекурсию, очень мощное средство метапрограммирования, которое может эмулировать наследуемое наследование Javascript (среди прочего), сопрограммы и т. Д. Это просто более чистый и лучший язык.
Одна из причин, по которой я мог бы выбрать Javascript вместо этого, заключается в том, что я знал, что моя аудитория уже знала Javascript, но я сделал это однажды с TCL и жил, чтобы сожалеть об этом (хотя JS далеко не так плох, как TCL; вы не можете пойти 1011 * что здесь не так).