Concepts: The future of generic programming (the future is here). Bjarne Stroustrup.
Channel: Using std::cpp
Date: 2019-01-30

Celebrating Honorary Doctorate at UC3M for Bjarne Stroustrup.

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 in the committee, but my primarily focus is not concepts as a language mechanism but as a support for the development of good software.