NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

C++ 真的还有未来吗?

  • 2007-09-17
  • 本文字数:1177 字

    阅读完需:约 4 分钟

Stephan Lavavej 提出了一个非常有趣也很尖锐的问题:“C++ 的未来在哪里?”

这个问题是有解的。没有哪个语言会成为永恒,不是吗?(尽管 C 语言现在依旧生机勃勃)我不希望 C++ 在 2017 年,或者甚至在 2057 年也依然那么有活力。在计算机行业,50 年已经是一个几乎不可思议的时间了;虽然到今年为止,晶体管已有 60 年的历史。所以,在我问“C++ 的未来在哪里?”这个问题的时候,实际上是想问在接下来的 10 年,20 年或者 30 年,C++ 会有什么变化?

在文章中,Stephan 引经据典,提到了 Bjarne Stroustrup 发布的一篇关于C++ 的论文,和Alexander Stepanov 关于 C++ 底层机器模型的访谈。

然后他指出,尽管 C++ 作为一门语言一直关注性能的问题,但根据 Herb Sutter 在 2005 年发表的一篇关于并发的趋势以及语言必须演进以迎接这些挑战的论文,由于工艺的限制,底层硬件的发展现在处于一个不稳定的状态。Stephan 说:

在 C++ 改变最大的核心语言属性列表中,应该包括可变参数模板(Variadic Template)、概念和左值引用(rvalue reference)等。前两个会使得写模板更加有趣,这当然很好,因为模板是生产高效代码的一个很有力的方法。另外第三个主要面向 C++03 中最为薄弱的领域之一——复制数值的趋势。

一个叫 Jared 的评论者也同意 Stephan 的观点,但对.NET 能否像 C++ 那么长盛不衰,没有太大的信心:

说得好,但是我相信 C++ 会一直兴盛到 2057 年。实际上我认为 C++ 会比.NET 撑得更久。(我认为.NET 最终会因为市场驱动而成为一个技术实体,但不好说)

Jim Grow 不同意关于托管 C++ 没有像其他.NET 语言引起别人注意的论点:

看上去 C++ 将会被打入冷宫,只有几个顽固不化的分子坚守阵地,大部分人都已转投.NET 编码阵营。因为 C++ 和现代的工具集那么地不合拍,公司和开发人员在无路可走的时候才会选择它。真的好惨,C++ 本来可以使.NET 平台上的一个非常优秀的语言。可悲地是,有些人却别有动机,说.NET 开发人员都在使用其他的语言。

Olivier Giroux 担忧的是 C++ 内存模型在未来的表现:

在单个芯片里同时运行 100 多个线程的性能,和只运行 2 到 8 个的情况是非常不同的,尽管你知道将来的趋势是可以做到的。 因为有足够多的线程同时运行,指令就非常充足,你可以将已有的指令全都塞满。很快,阿姆达尔定律(译者注:该定律指出在体系结构的优化设计过程中,应该挑选对整体有重大影响的部件来进行优化,以得到更好的结果。)就把你牢牢拴在内存接口处。在过去,我们用缓存设计解决这样的问题,但那要比一个超线程负载需要更多的分部一致性。

所以,C++ 在性能方面最大的威胁可能来自硬件,因为通过 C++ 现在提供的内存模型还不容易对其进行相应的编程工作。

那么 InfoQ 中文站的读者对于 C++ 作为一门语言的前景是如何理解的呢?它是会继续昂首上前,还是即将辉煌不再?

查看英文原文: Stephan T. Lavavej on the future of C++

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2007-09-17 21:262201

评论

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

【TiDB 最佳实践系列】海量 Region 集群调优

TiDB 社区干货传送门

实践案例

TiDB集群的GC不回收案例(案情二)

TiDB 社区干货传送门

故障排查/诊断

TiDB SQL 自动重试调研

TiDB 社区干货传送门

TiDB 底层架构

【TiDB CPU使用率过高之一】Scheduler worker CPU

TiDB 社区干货传送门

实践案例

TiDB 集群 TiKV 节点内存占用较高问题排查

TiDB 社区干货传送门

故障排查/诊断

TiDB 入门运维基础教程(二)--生产环境安装

TiDB 社区干货传送门

安装 & 部署

TiDB 配置参数修改与系统变量修改步骤

TiDB 社区干货传送门

实践案例

扩容TIKV节点遇到的坑

TiDB 社区干货传送门

管理与运维

TiDB K8S 定时备份状态异常问题排查

TiDB 社区干货传送门

管理与运维

TiDB 在 2021 易车 818 汽车狂欢节的应用

TiDB 社区干货传送门

实践案例

使用 TiCDC 实时同步 TiDB 数据到备用逃生环境的实践

TiDB 社区干货传送门

实践案例 安装 & 部署

都是空格惹的祸

TiDB 社区干货传送门

TiDB SQL调优实战——索引问题

TiDB 社区干货传送门

性能调优 实践案例

TiDB 对大事务的简单拆分

TiDB 社区干货传送门

性能调优

TiDB K8S 删除备份阻塞问题排查

TiDB 社区干货传送门

TiDB 底层架构 管理与运维

从TiDB中学习代码提交规范的重要性

TiDB 社区干货传送门

TiDB 底层架构

生产环境 TiDB V5.0.3 集群部署

TiDB 社区干货传送门

实践案例

SQL上线引发的血案

TiDB 社区干货传送门

TiDB 集群跨平台在线迁移方案(离线环境下从 x86 节点迁移到 arm64 节点)

TiDB 社区干货传送门

管理与运维

社区资源这么丰富我们怎么抄作业

TiDB 社区干货传送门

TiDB和MySQL的锁一些分析比对

TiDB 社区干货传送门

实践案例 TiDB 底层架构

TiDB for PostgreSQL 学习指南

TiDB 社区干货传送门

实践案例 管理与运维

【精选实践】58 集团的数据库技术选型思路

TiDB 社区干货传送门

数据库架构选型

TiDB在X86和ARM混合平台下的离线部署和升级

TiDB 社区干货传送门

安装 & 部署

TiDB 集群跨平台在线迁移方案(离线环境下从 x86 节点迁移到 arm64 节点)

TiDB 社区干货传送门

管理与运维

伴鱼数据库之性能大盘

TiDB 社区干货传送门

DM 2.0 小试牛刀

TiDB 社区干货传送门

TIDB:分布式事务算法Percolator学习笔记

TiDB 社区干货传送门

TiDB 底层架构

干货分享丨携程国际业务动态实时标签处理平台实践

TiDB 社区干货传送门

实践案例

【SOP 系列 19】region 分布不均问题排查及解决不完全指南

TiDB 社区干货传送门

管理与运维

SQLserver迁移TiDB场景的实践

TiDB 社区干货传送门

迁移 管理与运维

C++真的还有未来吗?_.NET_James Vastbinder_InfoQ精选文章