

I don’t think there are more languages being created now than before. There are tons of languages that have been created over the years, but you get the survivors bias effect where the ones that are actually useful in some context start being used in that context, and the ones that are less useful stop being used.
When you were learning python was already established, but I remember having long discussions trying to convince people to use it instead of Java because it was a much higher level with much better in many aspects at some cost performance, and if you’re not willing to pay that cost you should revert to C++ which is much better than Java anyways.
And that’s sort of what’s happening here. C++ is good for things that need to be fast, but it requires careful consideration to avoid several issues, if you don’t need the speed, python gives you a much better experience in several aspects. For other specific things there are specific languages that fit better, if you’re developing for web JS is already in most browsers so that’s an easy choice, and if you want to make a game maybe you learn C# to use in Unity. But for general stuff C++ and Python have been the de facto standards as they cover most use cases very comfortably, so there hasn’t been any real competition for them.
Enter Rust, Go, Zig, etc. Even if something is a standard it doesn’t mean it’s the best thing, Assembly, Cobol, Fortran, C have all been standards, but C++ can do 99% of what those other languages did and makes things easier, so slowly it became the default language. Of those “new” languages the only one I know enough is Rust, so let’s talk about what Rust brings to the table that’s not available on C++ or python, and why people are so excited for it.
Rust is fast, we’re talking C level fast, this means that Rust beats almost every other language (including C++). Rust is safe, it’s purposefully designed not to allow you to miss use it accidentally, this includes memory safety which is the most talked about, but it’s a whole thing in Rust, with enums you need to match all cases, result types that includes error responses, and optional objects that force you to acknowledge the None. Rust has a great package support, better than python because it’s standardized. Besides all that Rust is able to be used almost everywhere, whereas C/C++ does work in many places, but libraries for it don’t.
So, why new languages? Because there are things to improve.
Interesting, had never considered that, it does make sense. Although that created the absolute clusterfuck that is JS where
[ ] + [ ]is""and{ } + { }isNaN. Thanks for remind me of https://www.destroyallsoftware.com/talks/wat hadn’t watched that in a while.