Good engines rely on many different languages.
Sorry, but this is just plain wrong. Many different languages don't equal quality.
One could certainly do everything in one language, but that would be foolish. A good craftsman uses the right tool for the job. Insofar, using several languages in some way does equal quality (that assumes one doesn't just use many languages for using many languages!).
I am probably one of the biggest C++ fanboys, but I would never consider even for a minute writing part of a toolchain in C++. Why? Because C++ sucks ass for that.
Python, Ruby, PHP, take your pick. One line to read a whole file into an array, a dozen lines with 2-3 regex to do the whole magic, 2-3 lines to dump the binary stuff to disk. Two lines to read and parse an XML file, a dozen more to walk through it. Pipe to/from an external command... 1 line. Make a HTTP request or database query or similar... 1 line.
Do that kind of thing in C++ and you need half a dozen of libraries and will waste a week on writing something that (maybe, if you're lucky) does the same thing in three seconds instead of two, and that's a nightmare to maintain. It will take quite a few runs to amortize that week of development time. Every time you change something, you spend half a day on it again.
Level Editor? Written in 1/3 the time using C#, and they work quite OK. Could they be 20% "better" in C++? Probably, but who cares. They're functional, and they're not so slow that it takes away productivity. Spend your time on something different.
Then there's scripting, of course. Scripting (Angelscript in my case) is what usually runs not only the GUI, but almost the entire program. Unless of course you don't care about that kind of thing. How would I do that in C++?
So, you really don't have to make up something to get 4-5 different languages (and that's not counting domain specific languages like SQL or XML or JSON that you implicitly use too).