2 ms·
> But in my current company, there's no way you can do anything in the C++ codebase without a serious understanding of the language latest features. I feel you
by nuerow 5y ago
> But in my current company, there's no way you can do anything in the C++ codebase without a serious understanding of the language latest features.
I feel your anecdotal example is not fair as you're trying to pass off problems created by your team with it's ill-advised approach to adopting a programming language's latest features as problems with said programing language.
For instance, I feel you could make precisely the same case with a Java or Python project if the project's coding guidelines forced the adoption of all the new bells and whistles. But that wouldn't mean the languages have a problem.
Meanwhile, the golden rule of C++ continues to be favouring the principle of least surprise and picking a language version (often C++11, and not C++14/17/20) and a subset of features to be enforced at the project's coding guidelines, and build your project around those.
Frankly, your anecdotal example sounds more like resume-driven development claiming yet another victim than a programming language being too unwielding.
- yodsanklai 5y agoI agree I was a bit unfair, in the sense that it's not a problem specific to C++. It's extremely tempting for developers to use all tools and features available to them, and without very strong guidelines, you can be sure that it will happen. That being said, C++ is an extremely complex language, so there's much more room for the code to become insanely complex than in more modern languages.
- DesiLurker 5y agojust wanted to say that I have seen this happen in my current company and so much so that certain portions of code basically look like boost headers. many folks dont want to touch that code so they end up duplicating functionality with slight change because that one minor change would take a life of itself. in my previous company I have seen this happen (to a less extent) as a way of marking territory since such speghetti code sans detailed documentation basically means nobody else will touch it.