2017年2月27日至3月4日期间,ISO C++ 委员会在于美国夏威夷的 Kona 召开了冬季会议,本次会议由 Plum Hall 公司和 C++ 标准基金会共同承办。有来自 9 个国家的超过 100 人参加了本次会议。

C++ 17 完成了!

本次会议最大的新闻就是,我们完成了 C++17 标准的制定,这也是本次会议最重要的议程:C++17 技术层面的工作已经全部完成,并提交 ISO 进行最终投票。对于 C++17 标准的正式发布来说,剩下的工作只是一些常规程序还要走,但这些都只是行政工作而已。

如果有人寄望这次的冬季会议能给C++17带来“众多新的特性”,那么可能这些人要失望了。因为本次会议的工作中心是解决国家审查机构对C++提出的问题,以及交付产品。如果硬要说有值得兴奋的事情,那估计就是我们加入了std::byte type;其他的工作则主要是在C++17木已成舟之前进行最终一轮的bug-fix,这些工作虽然并不显山露水,但是真的是非常重要,因为它们直接决定了我们要交付的产品的品质。

我们非常感谢那些为 C++17 的创建和发布做出贡献的人,同时也感谢那些通过论文、邮件、远程会议等其他各种途径做出贡献的人,我们还提出了几个技术规范,这些规范目前已经被纳入了 C++20 标准的制定周期。你们的工作将会得到所有人的认可!我特别要感谢Library working group (LWG) 的成员们,他们在Kona会议上的工作量最大,每天为了回应所在领域的问题几乎是忙得连轴转。总之,谢谢大家,谢谢每一个人。下面这张照片是我们在 C++17 方案成功通过后照的,后面就是本次的主会议大厅。

kona2017-full-committee-crop

接下来,我们要马不停蹄地前往加拿大多伦多,为 7 月份在那里举行的 C++20 的会议做准备了。

其他进展

我们还同意提请了Coroutines 技术规范,并提交(预计只需)国际评议投票,现在这个技术规范是一个PDTS(Proposed Draft Technical Specification)。

对于Modules技术规范的提请许可,本次会议差一点儿就完成了。 只是Evolution working group (EWG) 认为,在正式提请之前,一些细节情况上还需要衡量。我们希望这个规范能够在2017年7月的多伦多会议上完成正式的提请评议。

我们还讨论了Parallelism 2技术规范,并且对包括2D Graphics在内的很多预案做了很多工作。其中我的一篇关于比较操作的提案笔记,这篇东西受到了EWG 和Library Evolution working group (LEWG)积极的审查反馈。当然,我的提案也是站在巨人的肩膀上写出来的,前人的工作包括著名的Bjarne Stroustrup以及Jens Maurer等等,我把以前针对比较操作所做出的提案都列在了我的笔记里。我的提案有超过20位审核人留下了详细的审核意见,这些审核人同时也为其他的草案进行了审核工作(是的,这是一个繁忙的冬天)。谢谢所有给予我帮助的人,你们的帮助让我事半功倍。当然,如果大家感兴趣,我会在今年(2017年)秋天的CppCon上做个小的演讲,来谈谈这些话题。

Reflection提案目前已经从学习组孵化器中毕业,现在进入到了main Evolution和Library Evolution分组。为了妥善处理这些提案,Reflection学习组将这个特性的许可证扩展到了“编译时一等通用编程模型”的范围。设想让Reflection变成像C++模板一样有用,而且还要避免模板元编程带来的复杂性和神秘感,如果有人对这方面感兴趣,那么这个方向就是很好的研究选择。就像"constexpr on steroids"一样。我对Reflection的演进非常期待。

Networking技术规范和Ranges技术规范目前也成功编写完成,并在Kona大会开始之前提交到了PDTS投票。目前在正式发布之前最后的工作,就是对投票进行落实,LWG会主要负责这件事。LWG准备用一周的时间来处理C++17委员会草案评议,不过他们在周六的时候会同时处理PDTS评议。我们计划完成对NetworkingRanges的决议工作,并且在今年7月的会议上正式发布这些技术规范。

EWG方面,我们简单地浏览了对Concepts技术规范的一些反馈,希望在2017年初能够把这个技术规范融入到C++20的工作周期中。EWG通过了一个设计修改方案,其他的修改方案会在7月的多伦多会议上进行讨论。

下图是我们的进度更新情况,这张图你在这里也能看到。

再次感谢参加此次Kona会议的100名专家,以及代表各自国家参与标准化进程的其他参会者。祝大家春天愉快......我们的下一站是:多伦多,7月份将在那里开展C++20的工作。

3月25日更正:原文中没有提到,LWG在周六时加班处理了Ranges PDTS事宜。是的,他们真的这么做了(非常感谢!),所以Ranges也算是正式走出了第一步。正如原文中提到的,我们计划在7月完成Ranges和Networking技术规范的所有内容,在Kona会议上开展两个规范的PDTS评议让这个目标更容易达成!

英文:Herb Sutter,编译:伯乐在线/黄小非

打赏支持我跟进更多热点资讯,谢谢!

打赏作者

打赏支持我跟进更多热点资讯,谢谢!

13 1 收藏

关于作者:黄小非

黄小非:毕业于重庆大学计算机系,南开大学软件工程硕士,SCJP。 目前在一家国企信息中心任职软件开发工程师。主要技术兴趣为Java平台相关技术、系统构架、C/C++、计算机图形学等。(新浪微博:@黄小非) 个人主页 · 65 ·  


直接登录
最新评论

推荐关注