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.
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.
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.
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.
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.