The game has its own language, which is generally (and informally) referred to as MS (module system) by the M&B modding community.
It is compiled by a set of programs written in python. Hence folks often think that MS is python. Its not. Its its own thing, but because the compiler system is written in Python, some of the same syntactical systems are used for the MS source code. It doesn't hurt to know python, for sure, and its possible to extend the MS compiler using python, whereas its impossible to extend MS since once compiled, its executed by M&B engine, which we cannot extend. This is also why folks sometimes get confused about the extendability of M&B - you can't just write new python scripts for it - they're not available in a mod - only compiled MS code is, hence impossible to use python during the game itself.
Knowing enough to write MS code is fairly easy - trivial really if you have any background in CS whatsoever. Its a scripting language more akin to scheme, so not really at all like Java (no objects, not classes, not even any string manipulation per se in MS, just tuples, tuples, and more tuples which can handle integers, integer identifiers (they refer to objects in the game engine by number), and some very simple string-registers that are your only string interface (and there is a very simple yet elegant set of operations supported). But no cutting, concatenating, counting, etc. No character dereferencing. Only whole strings or symbol replacement (similar to C's ptrintf() facility).
if you're curious, you can head over to http://forums.taleworlds.com/index.php#c5 and find any post by Jik, look at his signature for links to his updated tutorial, and within a few hours of reading you could be coding your own mods or mod-kits.
