You can make things efficient in a plethora of different languages depending on the setting (PHP, similar to how I used it, is often chosen because it's extremely readable, flexible and all the expensive performance stuff you're doing is usually in SQL on the server-side anyways) but there are definitely certain languages that are better suited to some tasks. I would really suggest not focusing in on language choice that much though, since there are much more important decisions to make when discussing high performance architecture and having access to pointer arithmetic is, at this point, honestly more of a curse (since you have to deal with horribly unmaintainable crap in some library you need) than a benefit. Over a decade ago I had my first C++ job which used the Qt framework and using references by default (which Qt strong encourages but doesn't force) is simply a much more sane approach to development.
Yes.
In fact, i reckon the reason a lot of games would have crashes is because it's written in an unsafe language like C++.
And the reason there's so many successful plugins for minecraft is _because_ it's in an "easy" language like java.
Side note: you can get a lot of the power of Stackless Python without a special interpreter if you use greenlets (https://greenlet.readthedocs.io/en/latest/).
Minecraft got mod support way after there was already a ton of mods for it. The way it got initially was basically hacking into game jars, not because it was supported in any way, it only got support later.
Granted, Java JVM did made that easier, but still the reason it got so much stuff is because it was so fucking popular first. All of the modding tools were pretty much made by community from scratch, way before Mojang moved their ass.
decompiling java is much easier than decompiling C++ output. Adding code to such a decompiled source is much easier and safer, and thus much more accessible.
if minecraft had been in C++, i seriously doubt the initial mods from hacking it would've been possible.
Pretty sure Jason Spangler, genius, made a JIT compiler in LLVM for Wombat just to see how much code we could execute in each 250ms tick.
During one of my live events I got 500 people on-screen (in what, an 800x600 pixel screen?) thanks to how efficient the networking, gameplay, and client rendering code had become.
Well. Then the telestorming began because I forgot to disable it…
A few of the very hot code paths in the netcode and elsewhere drop to unsafe to do pointer math and faster array walking but the vast majority of it is in managed space.
It's certainly different from the age of MMO's like Ultima though and the sense of community is vastly different than it was back then by virtue of how mainstream they are now and because of all the different tools and such people use to build those communities now.
So if not golden, I'd say still pretty strong silver.
To your other points though I completely agree.
It's all about programmer skill. You can write bloated C++ just as easily as bloated C# and bloated Java.
Lots of samples if you google.
Most MMOs aren't a graphics problem (usually not pushing the edge) or performance problem (high FPS for twitch isn't as big a thing), they are a database problem.
C / C++ are truly powerful and efficient languages for execution. Can you imagine doing this with Java or C# and still keeping the memory usage and speed reasonable, even in 2022? This is the late 90s (maybe early 2000s). C++ is a workhorse, warts and all.
Game development is just so different from all other types of development, but I feel like if you can game dev at this level you can develop just about any type of interactive application, but maybe I'm wrong?
The golden age of MMOs has long passed, hasn't it?