C++ is good and all but python allows custom content.
They go hand-in-hand. The system's architecture and heavy lifting is usually done in compiled languages while game logic is often developed using scripting languages (the ones that are interpreted by the system and have ability to bind those C++ functions inside the script).
If I were to try to develop such a system from scratch, I'd try using Rust programming language which is gaining popularity in the filed of game development (because it looks cool)