The reason scripting is implemented in something is to simplify the entire application and allow for quick prototyping.
Reason of scripting also is user’s mods and execute code from text form (triggers in levels or console commads).
With this approach, you don’t simplify anything. You are already programming in C++.
This is subjective. For me personally, C ++ is much easier than lua or angel script because I use it more often. For example idTech use c-like language for scripting.
And as it grows, you look at the parts that can be moved to native code and you do that.
This is simpler when the script is already C++ code.
And if performance is your argument (JIT). Again, this isn’t the purpose of a scripting language.
It is true.
http://fabiensanglard.net/doom3/interviews.php#qvm
EDIT:
I like quake 3 approach. http://fabiensanglard.net/quake3/qvm.php
Overall the VM system is very versatile since a Virtual Machine is capable of running:
* Interpreted bytecode
* Bytecode compiled to x86 instructions
* Code compiled as a Windows DLL
So if you need perfomance, you can just compile same code to native dll