No Concepts in C++0x

The one feature I had really been looking forward to in C++0x, generic programming concepts, have been scrapped from C++0x by the standards committee. In my opinion, this it was sad day indeed for C++. Bjarne Stroustrup explains why here. In short, it was a cautious attempt to prevent catastrophy by letting concepts into the language without being ready.

I understand the choice, but I am disappointed with it: concepts will take at least another five years to be released into the C++ programming language and, until then, we’ll have to rely on the current template system and, if we want to use something similar to concepts, jump through a lot of hoops to try to get there – and force the users of our libraries to do the same in some occasions.

In generic meta-programming based on types (which template meta-programming is most of the time) it would have been really, really nice to be able to say “if something matches this concept, it should use this, more efficient and/or more functional, version rather than the default one”. Now, only experts are able to say anything close to that.

I guess I’ll go sulk for a while.

About rlc

Software Analyst in embedded systems and C++, C and VHDL developer, I specialize in security, communications protocols and time synchronization, and am interested in concurrency, generic meta-programming and functional programming and their practical applications. I take a pragmatic approach to project management, focusing on the management of risk and scope. I have over two decades of experience as a software professional and a background in science.
This entry was posted in Opinions, Software Design and tagged . Bookmark the permalink.

One Response to No Concepts in C++0x

  1. Pingback: A glimmer of hope on comp.std.c++ « Making Life Easier

Comments are closed.