C++ standards committee met in Frankfurt, Germany

Beman Dawes, a C++ standards committee member and the founder of Boost, posted this to the Boost mailing page:

 2009-July-20

 

The C++ standards committee met in Frankfurt, Germany, last week. Key

actions:

 

* Concepts have been removed from C++0x.

 

The committee is very much in favor of Concepts. But Concepts are seen as so

important that they have to be right. And the strong consensus was that

getting Concepts right, for any reasonable definition of "right", would add

several years to the schedule. There was also a consensus that an

implementation of a compiler that could compile the entire standard library

is part of the definition of "right". While ConceptGCC has been a great

help, it isn't there as far as validating "right". Personally, I think Clang

may end up being the compiler that eventually validates Concepts.

 

* The range-based for loop and some other library features that were

dependent on Concepts will be retained by recasting them to no longer depend

on Concepts. See a paper in the upcoming post-meeting mailing to see how

range-based for loops will work.

 

* A second Committee Draft (CD2) will need go out for public comment in the

Spring or Summer 2010, given the amount of change required to remove

Concepts. The C++0x final schedule will thus slip about one year.

 

* No committee action was taken as to how Concepts will eventually make it

into C++. While there was a bit of discussion about doing a Concepts

Technical Report (TR), there was no such proposal made. Committee members

seem to lean toward letting the two rival Concept teams go back to work

outside of the committee process. The expectation being they will come back

to the committee when they are ready to restart the standardization process.

Hopefully the lessons learned about Concepts during the committee process

will be taken advantage of, so future standardization of Concepts will be

smoother.

 

My personal opinion is that removing Concepts will speed the arrival of

conforming C++0x compilers. GCC, for example, has already implemented much

of C++0x, so their key developers are no longer faced with the difficult

task of turning ConceptGCC into a production compiler, and can concentrate

on remaining major features like lambdas.

 

Although Concepts would have added a lot to C++ and Boost, Concepts would

also have presented major migration challenges. I'm thinking that for most

Boost libraries, migration to C++0x will now be easier and less disruptive.

We need to focus on the bright side.

 

--Beman

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值