In the world of C++ development, a growing sentiment is that modern programming practices in C++ have become akin to tribal knowledge—passed down through anecdotes and experience rather than easily accessible documentation. The steep learning curve of Modern C++ is often defended as a feature, but critics argue it creates an unnecessary barrier.
This debate has resurfaced on Hacker News, where developers discuss whether the complexity of modern C++ is intentional or a byproduct of its evolution. The language's advanced features, such as move semantics, smart pointers, and compile-time metaprogramming, offer powerful tools but require deep understanding. Newcomers often feel lost without guidance from seasoned practitioners.
While some see the depth as a sign of sophistication, others worry it excludes talent and reduces productivity. The conversation highlights a broader tension in software engineering: the balance between expressiveness and learnability.