4 ms·
> 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
by rramadass 3y ago
> 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.
- pjmlp 3y ago"Jack of all trades, master of none", also applies here. 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.
- MichaelZuo 3y agoIt's a shame then that nobody in the world fully understands C++.
- pjmlp 3y agoPeople love to complain about this regarding C++, and is true. 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.
- SubjectToChange 3y agoNo one completely understands Linux. No one completely understands a software package like Siemens NX or CATIA. No one completely understands LLVM. Etc, etc, etc, and the world still goes around. 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.
- rramadass 3y ago> "Jack of all trades, master of none", also applies here. 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.