写点什么

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:262585

评论

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

文心一言 VS 讯飞星火 VS chatgpt (100)-- 算法导论9.3 6题

福大大架构师每日一题

福大大架构师每日一题

自然语言处理的强大工具

百度开发者中心

自然语言处理 #人工智能 千帆大模型平台

OpenAtom openEuler亮相2023欧洲开源峰会

开放原子开源基金会

深度理解自然语言处理的强大工具

百度开发者中心

自然语言处理 #人工智能 生成式AI

为什么使用http代理要谨慎?动态ip地址和静态ip地址是什么意思?

巨量HTTP

http代理

HarmonyOS 4.0 实况窗上线!支付宝实现医疗场景智能提醒

HarmonyOS SDK

huawei HarmonyOS

开源项目专访 | XuperCore——让信任的链接更加便捷

开放原子开源基金会

F5为OpenTelemetry项目提供降本增效的技术支持

科技热闻

深度学习之“智能标注”

矩视智能

深度学习 机器视觉

软件测试/测试开发丨利用人工智能ChatGPT自动生成PPT

测试人

人工智能 软件测试 PPT ChatGPT

教育部-华为“智能基座”2.0正式启动,开创数智人才新生态

新消费日报

筑牢网络安全防线,天翼云签署《云计算服务安全自律公约》!

天翼云开发者社区

云计算 安全

Nginx的HTTP模块与Stream模块:区别与应用场景

天翼云开发者社区

nginx Web 服务器

预训练深度双向Transformer语言模型

百度开发者中心

自然语言处理 #人工智能 千帆大模型平台

一文带你实现云上部署轻量化定制表单Docker

华为云开发者联盟

开源 云原生 华为云 华为云开发者联盟 企业号9月PK榜

低代码引擎 TinyEngine 正式发布!

Kagol

开源 前端 低代码

噢耶!字节后端Offer,拿到了!

王中阳Go

Go 面试题 面经 校招 大厂面经

为什么你的自动化测试无法落地

老张

自动化测试

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