The C++ Standard Library Has Been Walking Itself Back for Fifteen Years

C++ keeps replacing its own old tools — and the comments are absolutely losing it

TLDR: The article says C++ has spent 15 years replacing its own older built-in features, to the point that developers are now told to avoid some once-standard tools. In the comments, people fought over whether this is a damning confession, a sloppy hit piece, or just the normal mess of old software growing up.

The article’s big claim is pure tech soap opera: one of programming’s oldest languages has spent 15 years quietly replacing its own old toolbox, and now even a once-standard feature is being labeled “legacy” and basically told to sit in the corner. For non-coders, that’s like a car company spending a decade releasing new steering wheels and then admitting the old one everyone learned on is the one you should avoid.

But the real fireworks are in the comments, where the community instantly split into camps. One side treated the piece like a scandal with receipts: yes, the language has a long history of introducing things, then later warning people not to use them. The other side came in swinging, accusing the post itself of being “slop” and even possibly AI-written. The sharpest jab? “If you don’t write it, I don’t read it,” which is less feedback and more a public execution.

Then there’s the battle of the veterans. One former C++ developer showed up with emotional baggage, recalling how an older feature got removed after their team had built major tools around it. That’s the kind of comment that turns abstract standards talk into real workplace trauma. Meanwhile, another commenter pointed to Reddit’s r/cpp discussion as proof that people are already dreaming up reform plans for future versions.

The funniest part? Even critics of the article couldn’t resist joining the drama. They argued the piece was confused for saying C++ can’t remove things while listing examples it absolutely did remove — and then added the spicy twist that Rust may be stuck with its old standard features forever too. Translation: everyone came to dunk on C++, and somehow the whole neighborhood got dragged

Key Points

  • The article argues that the C++ standard library has repeatedly replaced or discouraged its own earlier features over roughly fifteen years.
  • It uses std::function and the new C++26 std::copyable_function as a current example of an older standard feature being treated as legacy.
  • The article cites formal standards actions including the deprecation and removal of std::auto_ptr, old <functional> adapters, and std::random_shuffle through N4190.
  • It also cites the removal of dynamic exception specifications by P0003R5, with noexcept identified as the replacement and throw() later removed by P1152.
  • The article lists std::iterator as another long-lived feature that was deprecated in C++17 by P0174R2 and is proposed for removal in C++26 by P3365R1.

Hottest takes

"If you don't write it, I don't read it" — stephbook
"quite possibly being slop" — aapoalas
"I still remember how surprised and frustrated I was" — oezi
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.