Why C++ ? 王者归来

标签: C/C++语言 业界新闻 技术读物 编程语言 C++ | 发表时间:2012-02-02 08:22 | 作者:陈皓
出处:http://coolshell.cn

因为又有人我去Quora的C2C站去回答问题去了,这回是 关于 @laiyonghao 的这篇有点争议的博文《2012 不宜进入的三个技术点》ActionScript,Thread 和 C++, C++争议的争议最大。(要我说,.NET比C++更需要慎重进入,呵)。我就在这里回复一下这个问题吧。

正好我前段时间看到一个视频,这个演讲视频还比较著名,这个演讲者是 Exceptional C++ C++ Coding Standards 的作者,还是ISO C++ 委员会的Chair,C++/CLI首席架构师,还是Microsoft的软件架构师,他叫 Herb Sutter,他的这个演讲视频是 C++ and Beyond 2011上的一次公开演讲,题目是—— Why C++? (如果你觉得那里的视频比较慢,你可以看 优酷上的视频)(英文听力好的同学可以看一样,因为都没有中文字幕)

我觉得这篇文章就足够可以说明很多问题了,所以,我把Herb的演讲幻灯片截了几页放到这里,并做上一些注释,算是一个演讲内容摘要吧。

1) 为什么C++?因为 Performance per $,也就是说performance 就是钱,这个分成三个方面,

  • 电源,芯片的耗电量,移动设备的耗电量,家用电脑的耗电量都和钱有关系。
  • 资源,家用电脑和移动设备上的处理器资源有限,因为要让一般消费者买的起。
  • 体验,在更小的设备上会有更好的体验,有更好的体验就可以挣更多的钱。

2)C++的进化分成三个时代:

  • 1979 – 1989:研究C的对象能力。主要是为C++做准备
  • 1989 – 1999:C++成了主流。
  • 1999 – 2009:Coffee-based语言(Java, .NET)出现了,极大的提高了开发生产力。

对于第三个时代,Herb说了很多,他说这个并没有什么错,因为这个时候我们非常关注开发的生产力,这个非常重要,这就是为什么C++一下就失去优势的地方。但是是否这些Coffee-Based的语言可以做任重要的事呢?不行,很多时候,这是一个Trade-Off的事,也就是生产力不是免费的是需要你用别的东西去交换的。

3)第四个时期。

Herb认为,2009-2019是第四个时期,因为我们又喜欢Native Code了,C++从被驱逐后又被请回来了。因为网站的性能越来越是个问题,移动端的设备非常流行。但主要是因为Performance就是钱,因为前面的三个因素,性能影响的是dollar,不尊重性能的公司都会发现花钱的速度太快了。(比如去年大家热炒的京东促销和12306.cn的问题,12306给整个社会造成了巨大的金钱浪费)

Herb把这个时期比做 The Return of the King。(指环王的第三部:王者归来)

这就好像我在“ 软件开发的三重门”里说的,开垦时代需要的是快和生产力,而开垦完后就得保证其稳定性。

4)Herb还给了一张幻灯片问,“The World is built on ….”,后面例出了多个语言。然后Herb说,世界是由C和C++构成的。

5)Herb给了一张表格,这张表可相当形像。如果把我们的对编程语言的需求总结为四个: 效率,灵活,抽象,生产率。那么,C语言玩的是前两个,而C++玩的是前三个,Java和C#玩的是后两个(抽象和生产率)

任保一种设计都不可能让你什么都要的,这就是Trade-Off——什么事都需要交换的。

6)Herb举了一个微软内的例子,用C++ 和 ATL 来开发IE工具条的报告,因为用.NET或是脚本有重大的limitation,也就是性能问题。

7)接下来,我们来看看移动设备。

下图中,第一个是iOS,第二个是Android,第三个是WinPhone。Herd说了几个事:

a)比Web APP,人们更喜欢Native的APP

b)iOS也好,Android也好,WinPhone也好,他们不是在搞操作系统,而是在搞应用,为的是让智能手机更好。

c)这三个手机在第一片出来时都不支持C++,而第二版出来时都支持C++了。因为他们要兼顾性能和一定程度上的开发效率。WinPhone还没有到第二版,让我们拭目以待。(我以前写过一篇 调侃Android支持C++开发的文章,这也只是一年前的事,说明C++全面回归了)

8)如果你还是不相信的话,我们可以看看为什么Apple和Google都在搞C++的编译器,因为他们觉得G++性能不行。所以,基于LLVM的编译器正在领导潮流,因为我们关注Natvie Code的性能优化。

9)接下来,Herb说了一下数据中心,你知道数据中心最花钱的是什么吗?三个事:

  • 57%花在了硬件上。
  • 18% 花在了配电和降温上。
  • 13%花在了耗电上。

88%的钱花在了硬件和电力上。这可是很大一笔费用啊。(还有人说硬件比软件便宜吗?)我记得我上一个公司的数据中心每年要花的电费就在百万美元以上。

10)昨天在 微博上有个笑话,说是某咨询师要求程序员把代码打印出来走查,程序员问是不是要用彩打?哈哈。我说,这至少不环保嘛。消耗太大了。是的,C++是可以省电的,以及于C++之父都在YouTube 说C++是可以减轻全球变暖的问题。哇,C++开始真正造福人类了。

11)我还需要重温一下老大的这句话——

My contribution to the fight against global warming is C++’s efficiency: Just think if Google had to have twice as many server farms! Each uses as much energy as a small town. And it’s not just a factor of two… Efficiency is not just running fast or running bigger programs, it’s also running using less resources.

Bjarne Stroustrup, June 2011

最后一句说的非常好! 效率不仅仅只是跑得,跑得多,更是可以使用更少的资源

12)下面让我们再来看一张表,一张把钱投到哪里的表格。

  • 70年代80年代,资源不够,主要是把钱投在性能上。
  • 80年代到90代,主要是90年代开始有一半的投次到了抽象和生产率上。
  • 00年代,完全都在抽象和生产率上。
  • 10年代,80%的钱都要回头来解决性能问题。这就是C/C++的王者归来。

13)当然,不是C++不注重 开发效率,看看C++0X的标准引入了多少东西我们就知道了。但是本质上, C++还是致力于性能和抽象的完全平衡

那么,我们还会觉得C++要被淘汰了,不适合进入了吗?

后面讲了C++的文艺复兴,你可以在Google 搜索 “C++ Renaissance”看看。另外, 该视频的讲议可以在 这里下载

(全文完)

您可能也喜欢:

恐怖的C++语言

我有一个Hello World的C++程序编译不过

C++的std::string的“读时也拷贝”技术!

酷壳 – CoolShell.cn

C语言的谜题
无觅

相关文章

相关 [why 王者归来] 推荐:

Why C++ ? 王者归来

- - 酷壳 - CoolShell.cn
因为又有人我去Quora的C2C站去回答问题去了,这回是 关于 @laiyonghao 的这篇有点争议的博文《2012 不宜进入的三个技术点》ActionScript,Thread 和 C++, C++争议的争议最大. (要我说,.NET比C++更需要慎重进入,呵). (如果你觉得那里的视频比较慢,你可以看 优酷上的视频)(英文听力好的同学可以看一样,因为都没有中文字幕).

李宇春:Why me

- 海小呆 - 南都周刊-热点新闻
  记者_ 石宴瑜  北京报道.         还是不断有人问起“超女”的话题.   对于这个被问过可能有几百上千遍的问题,李宇春坐直了身子,直视答道:“那是我的历史,这个是不能回避的,可能很多人会觉得不愿提,但我没所谓.   那是一段有关荣耀和汗水的历史,也夹带着青涩、狼狈.   2005年盛夏,一头刺猥般根根竖起的黄色短发,成了“超女”李宇春最引人注目的标签.

“王”者归来还是早

- daodaomaomao - 不许联想
王健林往中国足球身上扔了5个亿,在商言商,王当然希望有所回报. 我看很多人都说这5个亿会打水漂,如果真打了水漂,那也就打了. 王老板估计也不能把足协的人都杀了,可能从此记住:再.

Mac Mini王者归来记

- Lu - 白板报
自从Mac Mini被我弄坏之后,我度过了假装世上没有它的十天. 昨天打电话给果硕维修中心,他们说不但更换被我弄坏的i/o接头,还帮我换了ssd硬盘(型号:crucial m4 256g),但是不确定有没有修好,因为他们没有显示器,无法测试. 我赶紧背着显示器出门,钱包里装了不多不少正好1000元钱,准备在对方狮子大开口的时候,掏出钱包给他们看,“就这些钱,再多,没有了,大不了,我mini不要了.

Web性能优化:What? Why? How? - 木的树

- - 博客园_首页
Web性能黄金准则:只有10%~20%的最终用户响应时间花在了下载html文档上,其余的80%~90%时间花在了下载页面组件上.   web性能对于用户体验有及其重要的影响,根据著名的`2-5-8`原则:. 当用户在2秒以内得到响应,会感觉系统的响应非常快. 当用户在2-5秒之内得到响应,会感觉系统的响应速度还可以.

王者归来——iPad 2 发布会小结

- inick - 爱范儿 · Beats of Bits
北京时间 3 月 3 日凌晨,王者归来,最新一代 iPad — 今年上半年平板的巅峰之作 — 终于露面了. 而且,它还是由大家之前一直担心其健康的乔布斯亲自发布的. 这是上半年的王者,无论是从机器本身还是新增的应用来说. 本质上变化并不大,但它做到了一点:改进. 硬件层面上,做了以下的改进:. 引入 1 GHz A5 双核处理器,直接打击了前段时间竞争对手最大的卖点,性能方面,CPU 处理能力翻倍,图形处理能力大幅加强,9 倍于 iPad 一代;.

王者归来,诺基亚超廉价机只要180元!

- - 雷锋网
此款手机名叫诺基亚215,被称作是“最具性价比的入门级互联网手机”. 该机配备了一块2.4英寸320×240分辨率显示屏以及一颗VGA摄像头,支持最高32GB Micro SD卡扩展,支持蓝牙3.0、FM收音机以及手电筒,运行的是S30+系统. 诺基亚215分为单卡版和双卡版,电池容量均为1100mAh,其中单卡版的待机时间为29天,双卡版则是21天,通话时间则是20小时.

9月16日-18日北美票房:狮子王3D版王者归来

- W - 新影像日报
在经历了年度票房最低谷后,上周的北美影市迎来了3部新片的上映:欲望都市女主角Sarah Jessica Parker 领衔的《凯特的外遇日记》、重口味经典翻拍作《新稻草狗》以及由 Ryan Gosling主演的动作片《亡命驾驶》,但出乎意料的是,三部新片的周末票房加起来也不敌3D重映版的《狮子王》,时隔17年后,辛巴和它的朋友们以2930万的佳绩”王者归来”.

开源大模型Llama 3王者归来!最大底牌4000亿参数,性能直逼GPT-4

- - 机器之心
ChatGPT 拉开了大模型竞赛的序幕,Meta 似乎要后来居上了. 本周四,AI 领域迎来重大消息,Meta 正式发布了人们等待已久的开源大模型 Llama 3. 扎克伯格在 Facebook 上发帖:Big AI news today.. 与此同时,扎克伯格宣布:基于最新的 Llama 3 模型,Meta 的 AI 助手现在已经覆盖 Instagram、WhatsApp、Facebook 等全系应用,并单独开启了网站.