{"id":236,"date":"2009-07-25T21:45:04","date_gmt":"2009-07-25T20:45:04","guid":{"rendered":"http:\/\/pocoproject.org\/blog\/?p=236"},"modified":"2009-07-25T21:45:04","modified_gmt":"2009-07-25T20:45:04","slug":"concepts-removed-from-c0x","status":"publish","type":"post","link":"https:\/\/pocoproject.org\/blog\/?p=236","title":{"rendered":"Concepts Removed from C++0x"},"content":{"rendered":"<p>&#8230; which is now C++1x (and hoping x is small number).<\/p>\n<p>Concepts were, in my opinion, really cool feature (types of types) that would have greatly improved template compilation error reporting and also provide help in documenting iterators as well as getting rid of traits. Stroustrup has put 7 years of work into the feature. The door has been left open to introduce them in the next standard, though.<\/p>\n<p>Not the end of the world, but disappointing nevertheless.<\/p>\n<p><a href=\"http:\/\/www.ddj.com\/architect\/218600111\">The C++0x &#8220;Remove Concepts&#8221; Decision<\/a><br \/>\n<a href=\"http:\/\/herbsutter.wordpress.com\/2009\/07\/21\/trip-report\/\">Trip Report: Exit Concepts, Final ISO C++ Draft in ~18 Months<\/a><\/p>\n<p>I like this part from Sutter:<\/p>\n<blockquote><p>It\u2019s important to remember that, in 1994, C++ was the only major language whose type genericity capabilities were strong enough to create the Standard Template Library (STL). Today, 15 years later, that is still true; you can\u2019t express the STL\u2019s containers-algorithms design separation well, or at all, using generics facilities in Ada, Java, .NET, or any other significant commercial or research language that I know of; as we learned when doingSTL.NET, you can do the containers well with other generics, but not the orthogonalization with algorithms that is the heart of STL design style. Concepts or not, that hasn\u2019t changed.<br \/>\nSo my personal view is that templates have been in the 21st century since about 1994. No other language has yet caught up to their expressive power. And C++0x is adding some further power to templates, in particular by adding variadic templates and template aliases, both of which will help to simplify template code.<\/p><\/blockquote>\n<p>Or, as Scott Meyers <a href=\"http:\/\/www.artima.com\/cppsource\/top_cpp_software.html\">put it<\/a>:<\/p>\n<blockquote><p>In Effective STL (Addison-Wesley, 2001), I wrote, \u201cIn the nearly 30 years I\u2019ve been programming, I\u2019ve never seen anything like the STL.\u201d It\u2019s now over 30 years, and I still haven\u2019t.<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>&#8230; which is now C++1x (and hoping x is small number). Concepts were, in my opinion, really cool feature (types of types) that would have greatly improved template compilation error reporting and also provide help in documenting iterators as well as getting rid of traits. Stroustrup has put 7 years of work into the feature. [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-236","post","type-post","status-publish","format-standard","hentry","category-news"],"_links":{"self":[{"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/236","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=236"}],"version-history":[{"count":9,"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/236\/revisions"}],"predecessor-version":[{"id":245,"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/236\/revisions\/245"}],"wp:attachment":[{"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pocoproject.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}