I read a book about game engine development some time ago, and they integrated LUA as scripting option.

The main idea behind this was that you can change things on the fly without need for recompiling (and even restarting I think).

In the end every engine needs some tiem and work to get into. At some point suddenly you understand the workflow and it will be a lot easier to continue. Especially with a well documented engine used by many people.
Google -> Stackoverflow -> Refactor grin