We’re in the final countdown to this year’s CppCon, which starts on September 16. To whet your appetite for this year’s conference, here’s another of the top-rated talks from last year. Enjoy – and register today for CppCon 2019!
by Bjarne Stroustrup
Summary of the talk:
Concepts have arrived. They will change the way we think about programming. Implementations are available in GCC and Clang. Many fundamental concepts are in the standard committee’s working paper and the next generation of the STL depends critically on concepts.
After briefly introducing concepts, I consider their role in design. What makes a good/useful concept? How do you design good concepts and use them well?
From a language-technical point of view, concepts are a way of constraining template arguments. From a design perspective, they are a focus comparable to user-defined types (classes): The intent is for a concept to represent a fundamental concept in an applications domain (hence the name “concept”).
I will mention technical issues recently resolved or currently being resolved in the committee, but my primarily focus is not concepts as a language mechanism but as a support for the development of good software.