C++0x not before 2010 and without 'concepts'
The forthcoming standard for the object-oriented language C++ will not be released before 2010. It will also lack the planned 'concepts' mechanism. This is according to information in a Dr. Dobbs Journal article by C++'s inventor, Bjarne Stroustrup. Concepts have been "decoupled" – or in Stroustrup's words "yanked out" – by the ISO group responsible for the standard, Working Group 21.
Concepts were intended to get around certain problems when using generalised data types (templates), in part by defining requirements for the types used in the implementation. Stroustrup explains the idea behind concepts in his C++0x-FAQ.
Stroustrup notes that he has been working on concepts for seven years and has been looking at the problems they aim to solve for even longer, so he is quite disappointed. C++0x will, he goes on to say, will be more expressive than its predecessor, C++98, offering concurrent programming and a better library, making it easier to write efficient, maintainable code.
Concepts were aimed at putting the current generalised data types (templates) on a more stable theoretical basis and helping in "firming up the standard library". It will now, according to Stroustrup, be up to developers to use "concepts" as a design technique without direct language support. His "best scenario" for the future is that C++ should gain something better than "concepts" within five years, but that will take focussed work by several people.
Even with the removal of "concepts" the C++0X standard will only be finished in 2010, leading Stroustrup to declare "No C++0X, Long Live C++1X".