如何将AI能力与大数据技术结合,助力数据分析治理等工作的效率大幅提升,优化大数据引擎的性能及成本? 了解详情
写点什么

C2x 将成为 C 语言的下一个 ISO 标准

  • 2018-11-26
  • 本文字数:1542 字

    阅读完需:约 5 分钟

C2x将成为C语言的下一个ISO标准

预计将于 2022 年完成的 C2x 标准在C委员会的推动下一直在演化。InfoQ 采访了 Jens Gustedt,他正在委员会内部推进新标准,他还是即将出版的新书“Modern C”的作者。


Gustedt 最近总结了委员会到目前为止的工作成果,发布了新标准的第一份工作草案。除了当前的C17标准相关工作,其他工作主要针对错误修复,C2x 将包含旨在改进语言本身的规范性变更。


InfoQ:即将推出的 C 标准的主要目标是什么?什么将推动 C 的发展?


Jens Gustedt:新 C 标准的制定主要是为了完善一些目标,详见章程。关键点是这个标准旨在描述现有的实践,而不是发明本身。只要有可能,发明应该在现有的 C 编译器中进行,或者来自其他编程语言(事实上主要是 C++)。也就是说,还有很多工作将清理现有的特性,追求语义上的模糊性,并添加可能有助于日常编码的小特性。


InfoQ:语言方面的变化有哪些是值得我们期待的?你能否提供一些你认为重要的语言新功能示例?


Gustedt:在语言和库级别,程序员直接可见的部分目前还没有太多定论。我的期望是我们将看到一些集成到 C 中的 C++特性,例如属性、以某种形式编译所有数据类型的时间常量,以及初始化类型(也就是 C++的 auto feature)。此外,还有一个 C++的协调计划,用于新的调用约定,它可以取代我们从一开始就一直在使用的错误码返回约定。有几个人确保与 C++委员会保持紧密合作,他们在这些问题上处理得很好。

但是 C 标准还有另一个重要的作用,因为它基本上为我们的计算机架构和其他编程语言构建设置了机器模型。C 标准将其称为“抽象状态机”。作为一个重要的特性,我们已经投票将最新的 IEEE 浮点规范集成到 C 标准中。我们还组建了一个工作组来修改“内存模型”,事关程序员可能会或者可能不会直接与计算机内存中数据裸表示交互、这可能将如何影响一些可能的优化以及这种字节和位的调整将如何变得安全可靠。这项工作遵循的是 Peter Sewell(等人)关于“指针来源”的论文,我们希望我们最终得到的内存模型可以广泛适用于 C 系统软件和应用程序的多样性。


InfoQ:最近,原生语言(与解释型或 JVM 语言相对而言)一直受到极大的关注,包括 Rust、Swift、Dart、Go 和 endash。C++也正在稳健发展当中。你能简单地描述一下你认为 C 特别擅长的用途或应用领域吗?


Gustedt:C 最大的优点是效率、可移植性和稳定性。只要这些是软件开发当中存在的主要问题,那么 C 就应该被视为首选语言。

效率:在这里,效率可能是指一些非常不一样的东西:能量和内存效率(适用于小型或便携式设备、卫星),运行时效率(适用于中型或大型计算密集型计算)或速度(适用于科学可视化、游戏或网络通信 )。C 在这些领域的效率是无与伦比的,其他编程语言倾向于引入大量的内存间接、动态行为,从而遏制了效率。

可移植性:C 的抽象状态机旨在可移植到任何计算设备上。这个概念带来了很大的好处:通常为新 CPU 开发的第一批软件组件就是 C 编译器。因此,用 C 编写的代码,特别是操作系统和其他系统软件,可以进行快速的移植。大量的软件项目从中受益,Linux 发行版是数千个软件包的集合,这些软件包可以很容易地移植到新架构上,并与现有主流平台的发展保持同步。

稳定性:C 委员会致力于保证用户代码库的稳定性。你现在编写的 C 代码仍然可以在 20 年后仍然可以编译和运行。80 年代或 90 年代写的代码今天仍然可以使用。此外,C 还提供了一系列有限的特性,这些特性在工程学院的研究生阶段就应该掌握。因此,在数年甚至数十年后仍然可以保持可维护性。在 C 语言中,“遗留”有着不同的含义,好的 C 代码是真正的资产,而不是负担。


Gustedt 在法国国家计算机科学与控制研究所(INRIA)和 ICube 实验室工作,领导 ICPS(并行和科学计算)研究团队。


查看英文原文C2x Will Be the Next ISO Standard for the C Language


2018-11-26 07:002852
用户头像

发布了 731 篇内容, 共 404.6 次阅读, 收获喜欢 1963 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

五、HikariCP源码分析之初始化分析二

阿白

数据库 源码解析 HikariCP 源代码 连接池

SQL 改写系列七:谓词移动

OceanBase 数据库

九、HikariCP源码分析之ConcurrentBag二

阿白

数据库 源码解析 HikariCP 源代码 连接池

Apache Doris 1.1 特性揭秘:Flink 实时写入如何兼顾高吞吐和低延时

SelectDB

数据库 flink 数据仓库 Doris 数仓

怎么实现您的个人知识库?

Geek_da0866

二、HikariCP源码分析之获取连接流程二

阿白

数据库 源码解析 HikariCP 源代码 连接池

六、HikariConfig配置解析

阿白

数据库 源码解析 HikariCP 源代码 连接池

互联网基石:TCP/IP四层模型,由浅入深直击原理!

wljslmz

计算机网络 TCP/IP 网络技术 OSI模型 签约计划第三季

新型LaaS协议Elephant Swap给ePLATO提供可持续溢价空间

BlockChain先知

知识库对企业的意义

Baklib

Serverless实战——2分钟,教你用Serverless每天给女朋友自动发土味情话

Serverless Devs

#Serverless

经验分享|编写简单易用的在线产品手册小妙招

Baklib

数据安全建设

奔向架构师

数据资产 7月月更

一文读懂Elephant Swap,为何为ePLATO带来如此高的溢价?

石头财经

活动回顾 | 大咖云集“开源安全治理模型和工具”线上研讨会

安势信息

开源安全 供应链攻击 SBOM SLSA 软件供应链安全

面向大数据存算分离场景的数据湖加速方案

百度智能云

数据湖 对象存储 元数据 存算分离 层级namespace

7 行代码搞崩溃 B 站,原因令人唏嘘!

Python猫

leetcode122. Best Time to Buy and Sell Stock II 买卖股票的最佳时机 II(简单)

okokabcd

LeetCode 数据结构与算法 贪心算法

你想怎么使用 Serverless 函数计算?(评测赢好礼 )

Serverless Devs

高性能数据访问中间件 OBProxy(三):问题排查和服务运维

OceanBase 数据库

三、HikariCP源码分析之获取连接流程三

阿白

数据库 源码解析 HikariCP 源代码 连接池

四、HikariCP源码分析之初始化分析一

阿白

数据库 源码解析 HikariCP 源代码 连接池

2022中国物流产业大会暨企业家高峰论坛在杭州举办!

联营汇聚

一、HikariCP源码分析之获取连接流程一

阿白

数据库 源码解析 HikariCP 源代码 连接池

七、HikariConfig初始化分析

阿白

数据库 源码解析 HikariCP 源代码 连接池

八、HikariCP源码分析之ConcurrentBag一

阿白

数据库 源码解析 HikariCP 源代码 连接池

不要再用if-else!

Jackpop

纯css实现:单行文本的打字机动画效果

南极一块修炼千年的大冰块

7月月更

十一、HikariCP源码分析之HouseKeeper

阿白

数据库 源码解析 HikariCP 源代码 连接池

MIT TR50榜单公布 《麻省理工科技评论》评价毫末智行是AI自动驾驶界的颠覆势能

科技大数据

智能车

人社部公布“数据库运行管理员”成新职业,OceanBase参与制定职业标准

OceanBase 数据库

C2x将成为C语言的下一个ISO标准_编程语言_Sergio De Simone_InfoQ精选文章