写点什么

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

评论

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

腾讯云大神亲码“redis深度笔记”,字字珠玑,全是精华

Java 程序员 架构 面试

iOS基础原理题目汇总

程序员 面试 iOS 知识体系

促成“零碳”社会的全面实现,华为云让技术更有温度

xiaotan

华为云

「信创」风口,国产数据库的新机遇

BinTools图尔兹

数据库 数据安全 dba 数据库管理 tdsql

Serverless Devs 的官网是如何通过 Serverless Devs 部署的

阿里巴巴云原生

Serverless 开发者 运维 云原生 存储

不愧是Alibaba技术官,Kafka的精髓全写这本“限量笔记”里,服了

Java 大数据 架构 面试

99% 的同学写不出好代码,都是因为这个问题!

程序员鱼皮

Java c++ Python 自学编程 经验分享

IoT系列,树莓派监控开关状态

IT蜗壳-Tango

IT蜗壳 IT蜗壳教学 5月日更

通证经济— 激励机制、社会生产、后资本主义

CECBC

dubbo-go v3 版本 go module 踩坑记

阿里巴巴云原生

容器 开发者 云原生 中间件 dubbogo

文本分析基本流程

Qien Z.

文本分析 5月日更

人生算法:愿景,设计人生导航系统

石云升

读书笔记 愿景 5月日更

One-on-One Meeting

escray

学习 5月日更 朱赟的技术管理课

深入剖析 MySQL 自增锁

leonsh

MySQL 数据库

“四大模型”革新NLP技术应用,揭秘百度文心ERNIE最新开源预训练模型

百度大脑

开源 nlp

大数据采集和常见问题

数据社

大数据 数据采集 5月日更

唵嘛呢叭咪吽|靠谱点评

无量靠谱

思想与落地

型火🔥

架构 分布式 微服务 哲学

刚刚接触视频剪辑,怎么快速剪视频?

奈奈的杂社

第五课作业

杰语

网络攻防学习笔记 Day31

穿过生命散发芬芳

5月日更 网络攻防

Logstash-数据流引擎

进击的梦清

大数据 Linux 运维 后端 Logstash

简单又灵活的权限设计?

蛋先生DX

数据库设计 权限系统 权限 权限架构 rbac

持续测试 | DevOps 时代的高效测试之钥

CODING DevOps

DevOps 持续测试 迭代式测试

暑期 2021 | Serverless Devs 最全项目申请攻略来啦!

阿里巴巴云原生

开源 Serverless 开发者 云原生 活动

阿里云携手 VMware 共建云原生 IoT 生态,聚开源社区合力打造领域标准

阿里巴巴云原生

阿里云 容器 开发者 云原生 k8s

公安重点人员情报研判分析系统,可视化大屏系统

量化马丁策略系统搭建,网格策略交易系统

5分钟速读之Rust权威指南(十三)

wzx

rust

从外包到拿下阿里offer,这2年5个月13天到底发生了什么?

Java 程序员 架构 面试

不含敌意的坚决|靠谱点评

无量靠谱

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