C 语言的下一个 ISO标准将会是 C2x ?

描述

  前不久分享了关于C语言的文章:C语言依然位居榜单前列,依然值得程序员学习。   一直觉得C语言是“神”一样的编程语言,这么多年可以稳稳的排在前列(当然,能排上名,自然有它的道理)。  一、前言之前,《现代C》的作者Jens Gustedt透露,C委员会现已开始构建下一个C标准的真正修订版,被称为“C2x”。 其中“x”应该代表新标准出现的年份数字,预计将于 2022 年完成的 C2x 标准。  同时,Gustedt还透露:我们会定期发布工作草案,其中包括目前已添加的更改。除了C17这是一个纯粹的bug修复版本,这样的工作文件引入了规范性的变化并且是公开的。   其中,整理了一些草案:

ISO

其中,提到其目的是促进可移植性、可靠性、可维护性等。   草案具体内容,可以参看Gustedt的博客:

https://gustedt.wordpress.com/2018/11/12/c2x


 二、即将推出的C2x主要目标是什么?

Gustedt回答:

新 C 标准的制定主要是为了完善一些目标。

关键点是这个标准旨在描述现有的实践,而不是发明本身。只要有可能,发明应该在现有的 C 编译器中进行,或者来自其他编程语言(事实上主要是 C++)。

也就是说,还有很多工作将清理现有的特性,追求语义上的模糊性,并添加可能有助于日常编码的小特性。

三、语言方面的变化有哪些是值得我们期待的?

Gustedt回答:

在语言和库级别,程序员直接可见的部分目前还没有太多定论。我的期望是我们将看到一些集成到 C 中的 C++ 特性,例如属性、以某种形式编译所有数据类型的时间常量,以及初始化类型(也就是 C++ 的 auto feature)。

此外,还有一个 C++ 的协调计划,用于新的调用约定,它可以取代我们从一开始就一直在使用的错误码返回约定。

但是 C 标准还有另一个重要的作用,因为它基本上为我们的计算机架构和其他编程语言构建设置了机器模型。C 标准将其称为“抽象状态机”。作为一个重要的特性,我们已经投票将最新的 IEEE 浮点规范集成到 C 标准中。

我们还组建了一个工作组来修改“内存模型”,事关程序员可能会或者可能不会直接与计算机内存中数据裸表示交互、这可能将如何影响一些可能的优化以及这种字节和位的调整将如何变得安全可靠。

这项工作遵循的是 Peter Sewell(等人)关于“指针来源”的论文,我们希望我们最终得到的内存模型可以广泛适用于 C 系统软件和应用程序的多样性。


四、C 特别擅长的用途和应用领域?Gustedt回答:C 最大的优点是效率、可移植性和稳定性。只要这些是软件开发当中存在的主要问题,那么 C 就应该被视为首选语言。   本文参考:

https://www.infoq.cn/article/lG_76LvIfjol2V3lUHl5

  参考Gustedt的博客:

https://gustedt.wordpress.com/2018/11/12/c2x

  可以看得出来,C语言还在大力发展,附上一张2019年8月,最新 TIOBE 编程语言排行榜(C语言仅次于JAVA):

ISO

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分