Why C++?王者归来

因为又有人邀请我去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 就是钱,这个分成三个方面,

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

移动设备上的耗电量相信用过智能手机的人都知道吧,Android手机的耗电量实在是太大了。就算是iPhone在开启Wifi和3G的情况下耗电量也很快。

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工具条的报告,意思是你可以用脚本在IE的工具条上加按钮,但是作者建议使用C++,因为用.NET或是脚本有重大的limitation,尤其是性能上的问题。

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

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

a)比Web APP,人们更喜欢Native的APP,这个在用移动设备上可以得到验证。

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

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”看看。另外,该视频的讲议可以在这里下载

(全文完)

时间: 2024-09-08 14:10:30

Why C++?王者归来的相关文章

王者归来?Enercon将重返印度风电市场

目前,Enercon正在筹备将其风机带入印度风电市场.Enercon已经雇用了德国的印度籍专家来助其制定相应战略.据可靠消息,Enercon也正在和印度马哈拉施特拉邦的 Ghodawat集团进行商谈.Ghodawat拥有105MW风电设备,曾和华锐风电商量用其厂房生产风电机组,最终提案未能成行.不知此次Enercon是否会采用这个提案. Enercon早在1994就进入了印度风电市场,并与印度企业Mehra成立了合资企业.后因对方窃取技术和转移资金,二者不欢而散,法律官司至今仍在进行. Ener

服务器市场格局期待突破,Power能否王者归来

日前笔者和一位国外企业高层主管聊天,他说全球各个市场都在希望有x86以外的服务器技术供选择.一位来自OpenPOWER阵营的中国公司高管在论坛上甚至公开预言,现在选择x86部署云计算的公司,五年后一定会后悔. Power这个昔日的王者,到底能否担当起与x86分庭抗礼.比量齐观的角色呢? 服务器不是高端PC,而是计算平台与业务工具 云计算是影响服务器未来格局最重要的因素之一. Gartner报告预测,混合云有望在五年内成为主流的方案选择:笔者大量的采访调查也发现,企业越来越关心灵活调配和统一管理内

分布式光伏王者归来 描绘4万亿能源“春景”

日前,国家能源局下发<关于下达2016年光伏发电建设实施方案的通知>,提出2016年全年光伏装机目标为18.1GW.同时明文规定"利用固定建筑物屋顶.墙面及附属场所建设的光伏发电项目以及全部自发自用的地面光伏电站项目不限制建设规模".文件一经公布,业内有识之士不禁奔走相告,分布式光伏的春天就要来了. 分布式光伏王者归来描绘4万亿能源"春景" 分布式光伏有望突破发展瓶颈,迎来新一轮市场机遇. "从政策层面看,我国已颁布了大量政策促进分布式光伏发展

硬件迎来“王者归来”时刻!

文/马可信 云计算和移动应用在http://www.aliyun.com/zixun/aggregation/13597.html">企业IT领域备受关注,而作为数字技术支柱的硬件却很容易被忽视.十多年来,软件创新日新月异,相比之下,硬件领域似乎相形见绌.而现在,对规模更大.速度更快.成本更低的数据中心的需求,为硬件迎来新一轮的发展机遇. 硬件复兴的背后有多个推动因素.在摩尔定律的作用下,硬件仍在快速发展.业界的一系列活动,如:Facebook在2011年发起的"开放计算项目&q

阚治东深圳初涉创投 王者归来难舍资本市场

深秋的上海,车水马龙的淮海路两侧高楼鳞次栉比,阚治东的办公室就在这条路的一幢写字楼里. 阚治东,这是一个中国资本市场永远不得不提的名字:主承销第一只A股,第一只B股,发行第一张金融债券,设立第一个证券交易柜台,参与发起设立上海证券交易所,率先开办境外证券业务,编制了国内第一个股票指数和全国第一份股票年报等. 他曾如日中天,亦两度遭弃,但始终隐忍克己.现在,年近花甲的他重新回来. 黄金时代 从申银到申万 现在来看,阚治东在少年时所做的几个选择似乎是命运和机遇的垂青. 中学毕业后,他背着家人报名去了

《王者归来》携张国荣好友独家公布珍藏遗照

天津卫视<王者归来>携手张国荣生前好友.著名京剧家现任北京京剧院副院长的宋小川先生,首次公布了哥哥生前的大量独家珍藏照片.[page] [page] [page] [page] [page] [page] [page] [page] [page] [page] [page] [page]

长江电力:王者归来

记者潘晟 昨日,停牌一年之久的长江电力复牌.虽然开盘微跌0.35%,但很快遭到市场资金追捧,掉头急升冲击 涨停,一度带领电力板块领涨A股 长江电力在因"重大资产重组事项"停牌一年之久后,昨日王者归来.尽管在长江电力停牌期间,上证综指从3700点跌到了1664点,又从1664点涨回了2600点之上,累计跌幅超过26%.不过,业内人士表示,重组使得长江电力的业绩得到明显提升,未来的走势值得看好. 重组方案尘埃落定上周五,长江电力发布公告称,公司董事会已审议通过了关于<中国长江电力股份

魔兽6.0悬槌堡史诗模式首杀诞生:Paragon王者归来

Paragon在熊猫人之谜版本时期转型十人团后有所淡出玩家视野.现在,他们以最引人注目的方式宣布:Paragon公会又回来了!就在大家猜测究竟会是哪个6/7的公会能拿下史诗元首杀时,Paragon公会以出乎意料的击杀震惊了德拉诺世界,他们在凌晨0:40成功首杀史诗元首马尔高克,正式宣布Paragon王者归来,随后又转头继续开荒史诗屠夫,并在今天早上的5:53分也就是击杀史诗元首的5个小时后,成功拿下了屠夫,也同时成为了第一家史诗模式7/7的公会.在本次首杀争夺中,Paragon在12月4日凌晨夺

《暗黑破坏神3》上市:暴雪王者归来

TechWeb编辑推荐:"大菠萝3"发布后,全球风靡,在这背后是暴雪公司十年磨一剑的执着.不过在网页和客户端游戏渐成王道的今天,暴雪又面临 什么样的困境.尤其是他们和中国市场的关系总是看着很近,实际却很远在<暗黑破坏神3>上市前就有分析师预测,这游戏今年年内将售出350万份.事实证明这种想法实在过于天真,<暗黑3>发售首日销量就突破了350万份,首周销量超过630万份,成为PC游戏史上首日和首周销量最高的游戏.这些统计里,还没包括参与暴雪另一促销活动中奖的120