The C++ Standard Library Has Been Walking Itself Back for Fifteen Years
Summary
A detailed critique of the evolution of the C++ standard library, arguing that many components shipped in early standards have been deprecated or replaced, but cannot be removed due to ABI stability. The piece catalogs formal and informal walk-backs, compares C++ defaults with Rust and other languages, and argues that the ABI constraint prevents removing core inefficiencies like std::unordered_map, std::list, and std::regex, while highlighting replacements and ongoing debates. The piece emphasizes that the standard library functions as a museum of past decisions and that developers should adopt non-defaults and external libraries.