Concepts are in C++0x!

By Douglas Gregor

Last Saturday in San Francisco, the ISO C++ committee voted to accept the concepts proposals into the upcoming Candidate Draft (CD) for C++0x. In all, thirteen proposals related to concepts were voted into the CD, covering the core language, foundational concepts, iterators, containers, algorithms, and more. In the next few weeks, the CD should be available for comments, as will the final versions of each of the proposals.

I think that now is a good time to point out and thank those who have invested significant effort in getting concepts to this point. On the language side, James Widman authored a large portion of the concepts wording, and the standardese is in much, much better shape because of his involvement. John Spicer provided extremely detailed feedback on the concepts wording and helped shape the formulation of concepts. The concepts design comes from work by Gabriel Dos Reis, Ronald Garcia, Jaakko Jarvi, Andrew Lumsdaine, Jeremy Siek, Bjarne Stroustrup, and Jeremiah Willcock.

On the library side, Mat Marcus shepherded the library concepts proposals through the Library Working Group, and authored, reviewed, and improved various parts of the conceptualized standard library. Daniel Kruegler provided extremely detailed review of and corrections to essentially every concepts proposal, and authored parts of the conceptualized standard library. Walter Brown, Pablo Halpern, and Alisdair Meredith all provided detailed reviews of and improvements to the library concepts proposals, including authoring several library concepts proposals of their own.

Many others have shaped the final form of concepts, including  David Abrahams, J. Stephen Adamczyk, Matthew Austern, Alberto Ganesh Barbati, Howard Hinnant, Mat Marcus, Alisdair Meredith, David Musser, Sean Parent, Sibylle Schupp, Alexander Stepanov, Alan Talbot, Thomas Witt, and Marcin Zalewski.

Thank you to everyone who has been involved thus far in concepts, but you’re not off the hook yet: there are yet more wording bugs to find, libraries to conceptualize, and dark corners to find.

6 Responses to “Concepts are in C++0x!”

  1. Jesse Williamson Says:

    Awesome! This is great news.

  2. Steven Woolgar Says:

    Congratulations on this achievement. Good news indeed.

  3. Umesh Sirsiwal Says:

    Congratulations. When do you guys think Concepts will find their way to GCC?

  4. Nicolas Says:

    And today, concepts were voted off C++0x. What selling point does 0x have now?

  5. Jesse Says:

    NC++0x has many “selling points”– heck, C++ as it /now/ has many “selling points”!

    I’m still reading Bjarne Stroustrup’s “Simplifying Concepts”. It is great– I mean, great– reading, even though it is obviously an unpolished piece written for a fairly narrow audience. (“http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2906.pdf”)

    Stroustrup has written a post for Dr. Dobb’s:
    “http://www.ddj.com/cpp/218600111″

    I’ve seen another from Danny Kalev. I haven’t followed any other discussions yet, so I’m a bit out of the loop: this is “news to me”, too.

    Personally, I get a sense that Dr. Stroustrup does seem determined to assuage bitterness. Think of the work that’s gone into this!! Read his essay to understand some of the problems, and the article for some so-called reconciliation (in the sense that it gives me, the fight is far from over!). Seven-plus years of work on a project you care about and untold numbers of programmers use or are affected by each day doesn’t disappear easily.

    I was stunned by the news, too. Concepts were indeed highly vaunted, and rightly so. The trouble is… well, I’m sure that Dr. Gregor will write something thoughtful (ahem… Doug.. ;) .

    I’m looking forward to C++0whatever. Heck, just the “auto” keyword alone will help with many of my (sob!) personal problems in daily coding “getting the job done”. The “little” features mean a lot to ordinary mortals.

    But, it’s very, very important to get at the fundamentals. C++ is a brilliant software engineering language, with a lot of strength. Each choice from the committee will impact untold lines of code.

  6. Niels Dekker Says:

    Hi Doug,

    It was very nice meeting you in Frankfurt. I see Dave and you have just opened a new website, http://cpp-next.com Great!

    I’d recommend anyone else reading your blog to also check http://cpp-next.com

    Kind regards, Niels

Leave a Reply