The thing is, much of the new stuff is intended to replace old stuff. Modern C++ is a completely different experience than old C++ - actually a much better one imo. But then there are two problems which makes things messy:
- Lagacy code, where introducing new concepts without updating the older parts increases complexity.
- People who don’t know or don’t care and just copy-paste whatever, mixing styles and standards.
In both cases, you end up needing to know how to do things the new way and the old way, while one of which would be sufficient.
There are exceptions of course (try{ pun(); }catch(const NotFunnyException& err){ return NOT_INTENDED;}
).
underwire212@lemm.ee 3 weeks ago
I mean, you don’t need to use the new features though. You can use a very small subset of C++ and get by just fine.
But yeah it does contain annoyances that have been more or less “solved” with newer languages. I realize there’s still a lot of use cases for C++, but I really can’t see the advantage of using it unless performance is absolutely critical or you need to have 100% certainty of machine level operations…which admittedly is still relevant for quite a few industries.