The CPython developers have never historically prioritised performance. Simplicity and readability of implementation have typically been higher priorities. In fact that's a key quality of Python in general that development speed is more important than runtime performance.
PHP had a similar performance binge about 6 years ago which is why it tends to run circles around similar class interpreted languages these days
There was no serious money invested until recently in Python performance.
Imagine what could happen if billions of dollars were invested in performance like it was done for C/C++/Java/Javascript in aggregate by various companies.
As more Python is being run in datacenters that starts to make sense, since 1% of CPU usage improvement can mean tens of millions of dollars per year in power costs.
Quick search shows PyPy received 1.5 mil euros from EU. It also received 200 k dollars from Mozilla. That's enough to fund about 10 developers for a year.
From what I remember IronPython had Microsoft hire something like 5 developers for a few years.
I mean, I guess technically it started as an "educational language", but much of its early-ish development was aimed at turning it into an enterprise language that could rival Java. Guido worked for Zope Corporation from 2000-2003, Zope is a big hairy enterprisey CMS. 10-15 years ago, people at Google for a very long time toyed with the idea of making Python fast enough so they could just use it for everything, cf. Unladen Swallow.
That said, it's true that Python has ended up being used in places that were not envisioned by its original creators, but the implication that it is therefore a bad fit for those settings does not automatically follow. Ruby was never meant to be a "web language" but many seem to enjoy using it that way.
Erlang/OTP but you are probably asking about the usability once you have 100+ developers working on a project so it doesn't quite fit in. Even Go is questionable here when compared to Java, C# and even C++.
C# indeed. But even javascript has a bearable JIT nowadays. Also no need for the vague enterprisey connotation, only features and performance are needed, which e.g. scala provide and Go do not (feature wise).
Ohh and Swift! I just mean that lots of popular languages were historical accidents when it comes to their use on large scale projects and it’s pretty rare (I suppose less now it seems) for someone to go out and invent languages specifically for large scale repos and “toy language is retrofitted for scale” is a more common narrative.
Yes historically this has been true but we are past this time, no need for each new language to duplicate it VM, its JIT, its GC.. GraalVM solve it all and bring ecosystems interop.