That is why in my Beads language i require the language version code on the first line of each file so that you can 1) detect the language without using the file suffix, and 2) know what version of the language was needed.
Language version marking should be included in every language, because code can last a very long time.
Designers like to grow their language, but users are also a major source of pressure. If you have a large codebase in language X, you are incentivized to improve X to make it as good as possible for you, because switching to the new language Y is unreasonably expensive.
The blog post assumes that having a big language is bad. Is there a way to build big languages so that they do not crumble under their complexity? Maybe having big languages would be fine if we did it right? Wikipedia is large, and seems to be doing okay. The package ecosystem of most programming languages (or system distributions, etc.) is large (much larger than the implementations of the language in any case), and people don't generally ask to stop publishing new packages. Can we make language designs and implementations more like those?
In particular:
Does a given language feature have a cost for programs that do not use it?
When evolving a language we have to think about how existing programmers will adapt, and also how new programmers in the future will learn the language from scratch. Can we propose systematic, better answer to those questions? You mentiond that language specifications are disappointing. Would there be a form of specification (for example: a reference interpreter intended only for documentation purposes) that could accelerate user's understanding of new features, and whose maintenance would structure the language evolution process? What about "how to teach this language", is there a form of document containing this information that could be maintained alongside the language, which would also contribute to the evaluation of language change proposals?
I know a lot less about languages like C# and the like, but I wouldn't be surprised if they've gone, or are going, through something similar.
C# has always been a fairly maximalist language, and has never in its history been shy about adding features. This is not to disparage the people behind it: Anders Hejlsberg (e.g.) is an exceptional language designer! But language size was never a priority.
https://www.youtube.com/watch?v=lw6TaiXzHAE
Rust simply does it all. I've used it to write low-level OS kernel and driver code. I've used it to write middleware. I've used it to write math-intensive graphics applications. I've used it to write text processing software. I've used it to write high-performance network servers. I've even used it as a scripting language for a simulator.
I haven't reached for other programming languages in years. These days, the only tool in my toolbox is Rust.