Even if its role would be restricted to language runtimes, drivers, GCC, LLVM, game console SDKs, and GPGPU programming, that is enough to keep the language around for a couple of decades more.
We don't need to use the same language for everything.
Even if its role would be restricted to language runtimes, drivers, GCC, LLVM, game console SDKs, and GPGPU programming, that is enough to keep the language around for a couple of decades more.
We don't need to use the same language for everything.
True; but it is very convenient and productive to use one single language for everything, particularly when it has "multi-paradigm" support. I find there is less cognitive load which allows one to better focus on the domain problem-solving.
Hence why there are a couple of domains where C++ used to dominate 20 years ago, and eventually were taken over by other languages, most notorious one, GUI frameworks.
It turns out lack of reflection and automated memory management doesn't lead to productive workflows, and tooling.
Not quite; if you subscribe to the "other form" of the quote viz. “A Jack of all trades is a master of none, but oftentimes better than a master of one” ;-)
In the case of C++, the language is large and open-ended enough that you can truly express a lot more different models of computation, at different levels of abstraction thus giving you a larger design and implementation space. I think this is the main reason for the success of the language.
Having a “small language like C” doesn’t do anything besides move the complexity to application code and hide those details from the compiler. In fact, with sophisticated optimizing compilers and linkers, it’s impossible to predict what any random snippet of code in a large project is transformed into, assuming it exists at all in the final binary.
Yet they keep forgetting it equally relates to all mainstream languages older than 20 years in production.
I bet no one would manage a pub quiz regarding any of them, if the questions were honestly based on the language complete history, thus not fully understanding them either.