To put C++’s growth in context:
Compared to all languages: There are now more C++ developers than the #1 language had just four years ago. Compared to Rust: Each of C++, Python, and Java just added about as many developers in one year as there are Rust total developers in the world.
Whoa. That are some carefully selected numbers. It is like saying that I am earning much better money than my 16-year-old nephew (who just finished school), and that, because my job is installing and servicing coal stoves and coal stoves are still used in large part of the country, the coal stove industry is in a totally healthy state.
Hmm. Sounds like C++ is losing ground to Rust - which is much younger - fast.
Especially considering that according to the Stack Overflow surveys, young programmers tend to get into C++, but experienced developers clearly prefer Rust.
Of course, C++ isn’t going to dissppear. It will continue to be used for a long time, especially in old, mature code bases. But the same is true for COBOL. And very few new projects use COBOL. In the same way as some scholars and archeologists need to know Latin, but very few publish research or write new books in Latin - even if it was the language of science just a couple hundred years ago.



I think it really depends. If you do embedded/microcontroller stuff, C/C++ is often the only alternative. That’s why I use C/C++ at least.
But I think any serious programmer uses half a dozen languages on a daily basis anyway.
A half dozen daily? All I can say is your perspective strikes me as highly industry-dependent.
A FE dev usually has JS/TS, (S)CSS, bash (for tooling scripting), often some kind of templating language, sometimes a separate language for tests (e.g. Java/Python+Selenium).
A BE dev stack that I’ve had at a few jobs so far: Java + Kotlin as the main dev languages, Groovy+Spock for tests, a templating language for emails, bash for tooling scripting, that abysmal templating language that helm charts use, SQL, Elastic, plus a few random single-purpose languages you need for some random tool in the stack.
If you do full-stack, add both together. And then add languages you need for hobby work.
On a regular day I easily hit half a dozen languages at least briefly. Maybe not as a junior dev, but after a few years in the industry, that’s not uncommon.
Unless of course you are a C# or Swift dev, then it’s totally possible to stay within your singular language-specific bubble for your whole carreer.
I do C++. And mostly, there are 2 languages daily.
C++withQML, when doing GUIC++withJSONfor DB related stuffXMLfor many other thingsXMLwithCSSfor UI, but here, theXMLpart is mostly offloaded to a GUI toool.Unless you are including
CMake,qmakeandUnix Makefilesof course, but that’s not an everyday thing either.Same experience here, with 20 years of experience in the industrial / embedded field.
Tbh, I would classify everything you do regularly at work as your daily work.
The point remains the same: You need to know all these languages. You cannot say “I’m just doing DB stuff today, so I can totally forget QML and relearn it tomorrow when I have a GUI ticket.”
Well, I guess that’s one way to put it.
But in that case, I would have 3 years of Python experience, which was <5 hours.
Rust for embedded targets has made rapid progress. In fact, if I want to run command-line applications on my Linux/Sailfish PDA, the easiest way is to cross-compile a Rust app.
Also, things which C was formerly used for, like writing to I/O memory registers, is easy in (unsafe) Rust. It was made for that.
Rust is also beginning to be used in satellite and space engineering.
What of course still needs to catch up is architecture support. But once gcc can compile Rust code, most relevant targets are available. Especially since one can call platform support libraries via the C ABI - and Rust can easily be called from C.
Tbh, that a good language can be used in a context doesn’t mean it’s a good choice.
Java, Python, C++, … can run in WASM and thus in a browser, but if you need anything, all examples, all libraries and everything else will be in JS/TS. Pretty much any language in existence is better than JS/TS, but hardly any language is better for browser scripting.
So for a language to really make sense to be used in a context, you need all the supporting stuff for that too.