Contracts are in C++26 despite disagreement over their value
Inventor Bjarne Stroustrup argues feature is neither minimal nor viable The ISO C++ committee (WG21) has approved the C++26 standard, described by committee member Herb Sutter as the most compelling release since C++11, and including Contracts, despite opposition to the feature from C++ inventor Bjarne Stroustrup, among others.…

The ISO C++ committee, known as WG21, has recently approved the C++26 standard, a significant milestone in the evolution of the programming language. This update is being hailed as one of the most compelling releases since C++11, thanks to its inclusion of new features and improvements. However, the approval of the standard has not been without controversy, as some prominent figures in the C++ community, including the language's inventor Bjarne Stroustrup, have expressed disagreement over the inclusion of certain features, particularly the Contracts feature.
The Contracts feature, which aims to enhance code readability and maintainability by providing clearer specifications for functions and methods, has been a point of contention. Bjarne Stroustrup, who is widely recognized as the creator of C++, has publicly argued that the Contracts feature is neither minimal nor viable. He believes that the addition of this feature could potentially complicate the language and introduce unnecessary complexity for developers.
Despite Stroustrup's reservations, the ISO C++ committee has decided to proceed with the inclusion of Contracts in the C++26 standard. This decision was made after thorough deliberation and evaluation of the potential benefits and drawbacks of the feature. The committee members, including Herb Sutter, a well-respected member of the C++ community, have expressed their enthusiasm for the Contracts feature, believing it to be a valuable addition that will improve the language's capabilities.
The approval of the C++26 standard with the Contracts feature highlights the dynamic nature of language evolution. While some developers and experts may disagree with certain decisions, the ISO C++ committee strives to balance the need for innovation with the importance of maintaining backward compatibility and ensuring the language remains accessible to a wide range of users.
The inclusion of Contracts in C++26 is just one example of how the language continues to evolve to meet the demands of modern software development. As the standard is adopted by developers around the world, it will be interesting to observe how the Contracts feature is received and utilized in practice.
In the years since the initial release of C++, the language has undergone numerous revisions and updates, each designed to address specific pain points and improve the overall developer experience. The C++26 standard, with its blend of established features and innovative additions, represents another step forward in this ongoing journey of refinement and improvement.
While Bjarne Stroustrup's concerns about the Contracts feature may not align with the views of the ISO C++ committee, his input serves as a reminder of the importance of open dialogue and critical evaluation in the development of programming languages. Ultimately, the success of any language update depends on the ability of the community to adapt and embrace new ideas, even when they may not be universally accepted.
As developers continue to work with and contribute to the C++ ecosystem, the inclusion of the Contracts feature in C++26 will undoubtedly shape the way software is written and maintained in the years to come. The debate surrounding this feature underscores the dynamic and evolving nature of programming languages and the ongoing efforts to create tools that are both powerful and user-friendly.
In conclusion, the approval of the C++26 standard, including the controversial Contracts feature, marks a significant development in the history of the C++ language. While some may disagree with the decision to include this feature, the ISO C++ committee's commitment to innovation and improvement is evident in the standard's comprehensive set of updates. As the C++ community adapts to these changes, it will be fascinating to see how the Contracts feature is adopted and integrated into everyday programming practices.










