C++的前世今生,你还觉得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【英 [pəˈfɔ:məns] 】(性能)就是钱,这个分成三个方面:

电源:耗电量都和钱有关系。

资源:要让一般消费者买的起。

体验,小设备好体验,好体验挣多钱。

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

80年代:研究C的对象能力。主要是为C++做准备

90年代:C++成了主流。

千禧年:Coffee-based语言(Java, .NET)出现了,极大的提高了开发生产力。

(很简单。Java一开始就是以为了让程序员享受写程序的过程为目的设计的,Java就是一种咖啡的名字。C#是因为被升阳告了以后放弃微软自己的Java而搞出来的副产品,最初的版本【不论是目标还是实现技术,都与Java极其相似】。所以这两种语言可以被认为是基于咖啡。

3)第四个时期。又开始慢慢喜欢自然语言

 

在学习C/C++或者想要学习C/C++可以加入我们的学习交流QQ群:954607083

2009-2019是第四个时期,因为我们又喜欢Native Code了,C++从被驱逐后又被请回来了。因为网站的性能越来越是个问题,移动端的设备非常流行。但主要是因为Performance就是钱,因为前面的三个因素,性能影响的是dollar,不尊重性能的公司都会发现花钱的速度太快了。

Herb把这个时期比做 The Return of the King。(指环王的第三部:王者归来)这就好像我在“软件开发的三重门”里说的,开垦时代需要的是快和生产力,而开垦完后就得保证其稳定性。

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

 

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

 

6)Herb举了一个微软内的例子,用C++ 和 ATL 来开发IE工具条的报告,因为用.NET或是脚本有重大的limitation(美 [ˌlɪmɪˈteʃən] 限制),也就是性能问题。

 

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

我的抗击全球变暖的贡献是C++的效率:试想如果谷歌有两倍的服务器农场!每个城市的能源消耗量都很小。这不仅仅是两个因素,效率不仅仅是运行速度更快或者运行更大的程序,它也在使用更少的资源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值