Commenters focused on the dispute over adding contracts to C++26 and the weight of Bjarne Stroustrup’s opposition. Some found Stroustrup’s objections persuasive and saw Herb Sutter’s account as a diplomatic explanation of the failed vote. One commenter thought his opposition may have tipped the balance; another argued the result also reflected growing concern about large, unfinished features that leave difficult work to implementers, citing modules. Sutter’s proposed routes forward included dropping contracts from C++26, revising them and voting again, or pursuing the standard through national bodies rather than ISO. Commenters questioned whether contracts offer enough over ordinary assertions to justify their complexity, while supporters of the feature’s process noted that stronger enforcement guarantees might change some votes.
The debate broadened into disagreement about C++ itself. Critics described it as unsafe, confusing, and burdened by overlapping ways to accomplish tasks; some favored moving legacy code toward Rust or argued that AI tools could weaken the case for preserving it. Others said C++ is best treated as a collection of useful features, learned as needed, and defended its depth and power. Commenters also disputed whether choosing pointers and iteration styles is unusually confusing, noting that experienced programmers can follow a project’s conventions. Several stressed that C++’s lasting compatibility makes decisions consequential, while another argued that long consensus can let unwanted complexity accumulate. Some also credited C++ committee work on concurrency and memory models, even as others questioned how much it improved practical parallel programming.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.