For your core business, you probably shouldn't use the embedded language, but there are other problems using the embedded language. Most importantly, in my experience, it is useful to have an easy-to-use language in which other users can create against your system. Although it is theoretically possible to build the correct definition of interfaces against your system, it is much more convenient to let inexperienced people play with JavaScript and Lua, instead of setting up the entire environment for deployment in .NET.
Of course, it is easy to change the built-in hot-swap languages, and this can significantly speed up your testing; You can also immediately see your changes without restarting the application, because you just restart a small virtual machine for this built-in language.
I personally used this so that people could write helper scripts against the game.
source share