写点什么

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++

2007-09-17 21:262493

评论

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

首批成员!博云入选信通院“可信边缘计算推进计划”

BoCloud博云

云计算 开源 云原生

virtio 1.2 来了!龙蜥社区携手业界打造新版虚拟化 IO 标准

OpenAnolis小助手

开源 虚拟化 龙蜥技术 virtio

RT-Thread记录(八、理解 RT-Thread 内存管理)

矜辰所致

内存管理 RT-Thread 8月月更

华贵保险连续五年获得“A级纳税信用企业”

江湖老铁

科技赋能会展!3DCAT助力广东旅博会元宇宙场景的首次搭建

3DCAT实时渲染

云计算 元宇宙

2篇论文入选KDD 2022!腾讯广告持续探索效果提升新思路

极客天地

二分查找:一种效率较高的查找方法

华为云开发者联盟

开发 二分查找 查找 区间

大数据培训学习软件工程师机构靠谱吗

小谷哥

干货复盘 | 银行数智化转型十大趋势

易观分析

金融 银行 数智化转型

Java 异步调用原理与实战

PPPHUANG

性能优化 线程池 Async Java core java nio

2022 CCF国际AIOps挑战赛决赛暨AIOps研讨会成功举办

BizSeer必示科技

人工智能 AIOPS

2分钟一图看懂AntDB数据库产品

亚信AntDB数据库

AntDB 国产数据库 aisware antdb

预约直播 | 深度学习编译器技术趋势与阿里云BladeDISC的编译器实践

阿里云大数据AI技术

深度学习 阿里云 编译器

即日起,ONES 团队版50人以下免费

万事ONES

SAP ABAP Netweaver 服务器的标准登录方式讲解

汪子熙

web开发 web服务器 abap Netweaver 8月月更

如何利用CANN DVPP进行图片的等比例缩放?

华为云开发者联盟

人工智能 图像 昇腾AI

CSO视角:Sigstore如何保障软件供应链安全?

SEAL安全

软件供应链安全 OpenSSF

IPv5是什么意思?到底有没有IPv5?

郑州埃文科技

ipv6 互联网协议 ipv5

java就业培训班如何选择?

小谷哥

大数据程序员参加培训好还是自学好

小谷哥

一文讲透Java核心技术之高可扩展利器SPI

冰河

Java 程序员 架构师 spi 核心技术

易周金融分析 :支付科技着力服务产业数字化升级

易观分析

金融 产业数字化 分析 支付科技

开源一夏 | 如何使用Java操作华为对象存储OBS删除一个目录?

wljslmz

Java 开源 对象存储 华为云 8月月更

SAP ABAP 关键字语法图和 ABAP 代码自动生成工具 Code Composer

汪子熙

Java SAP abap commerce 8月月更

合合信息加入元脑生态 携手浪潮信息推动金融AI应用创新

合合技术团队

AI 智能时代 合合信息 人工智能’ 浪潮

Alluxio on Amazon EMR 集成实践

亚马逊云科技 (Amazon Web Services)

实践 集成 Tech 专栏

Android进阶(十五)socket通信实现聊天室应用开发总结

No Silver Bullet

android 8月月更 开发总结

零门槛掌握基于大模型技术的AIGC场景应用

文心大模型

前端培训学完课程后如何找工作?

小谷哥

计算机专业和培训出来的前端程序员的区别

小谷哥

阿里云杨红军:应用管理——云上资源DevOps最佳实践

阿里云弹性计算

阿里云 DevOps 运维 应用管理 云上资源管理

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