C++学习开山篇-偶遇《C++ Renaissance》-Why C++?
2012-02-23 16:16
183 查看
1) 为什么C++?因为 Performance per $,也就是说performance 就是钱,这个分成三个方面:
电源,芯片的耗电量,移动设备的耗电量,家用电脑的耗电量都和钱有关系。
资源,家用电脑和移动设备上的处理器资源有限,因为要让一般消费者买的起。
体验,在更小的设备上会有更好的体验,有更好的体验就可以挣更多的钱。
2)C++的进化分成三个时代:
1979 – 1989:研究C的对象能力。主要是为C++做准备
1989 – 1999:C++成了主流。
1999 – 2009:Coffee-based语言(Java, .NET)出现了,极大的提高了开发生产力。
对于第三个时代,因为这个时候我们非常关注开发的生产力,这个非常重要,这就是为什么C++一下就失去优势的地方。但是是否这些Coffee-Based的语言可以做任何重要的事呢?不行,很多时候,这是一个Trade-Off的事,也就是生产力不是免费的是需要你用别的东西去交换的。
3)第四个时期:
2009-2019是第四个时期,因为我们又喜欢Native Code了,C++从被驱逐后又被请回来了。因为网站的性能越来越是个问题,移动端的设备非常流行。但主要是因为Performance就是钱,因为前面的三个因素,性能影响的是dollar,不尊重性能的公司都会发现花钱的速度太快了。
这就好像我在“软件开发的三重门”里说的,开垦时代需要的是快和生产力,而开垦完后就得保证其稳定性。
4)语言:
软件世界是由C和C++构成的。
5)语言的所属领域:
如果把我们的对编程语言的需求总结为四个:效率,灵活,抽象,生产率。那么,C语言玩的是前两个,而C++玩的是前三个,Java和C#玩的是后两个(抽象和生产率)。
6)移动设备:
上图中,第一个是iOS,第二个是Android,第三个是WinPhone7。
a)比Web APP,人们更喜欢Native的APP
b)iOS也好,Android也好,WinPhone7也好,他们不是在搞操作系统,而是在搞应用,为的是让智能手机更好。
c)这三个手机在第一片出来时都不支持C++,而第二版出来时都支持C++了。因为他们要兼顾性能和一定程度上的开发效率。WinPhone7还没有到第二版,让我们拭目以待。(我以前写过一篇调侃Android支持C++开发的文章,这也只是一年前的事,说明C++全面回归了)
8)如果你还是不相信的话,我们可以看看为什么Apple和Google都在搞C++的编译器,因为他们觉得G++性能不行。所以,基于LLVM的编译器正在领导潮流,因为我们关注Native Code的性能优化。
9)数据中心:
57%花在了硬件上。
18% 花在了配电和降温上。
13%花在了耗电上。
88%的钱花在了硬件和电力上。这可是很大一笔费用啊。(还有人说硬件比软件便宜吗?)。
10)C++是可以省电的
C++之父都在YouTube 说C++是可以减轻全球变暖的问题。哇,C++开始真正造福人类了。
“My contribution to the fight against global warming is C++’s efficiency: Just think if Google hadto 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.”
11)关注:
70年代80年代,资源不够,主要是把钱投在性能上。
80年代到90代,主要是90年代开始有一半的投次到了抽象和生产率上。
00年代,完全都在抽象和生产率上。
10年代,80%的钱都要回头来解决性能问题。这就是C/C++的王者归来。
11)C++还是致力于性能和抽象的完全平衡。
12)下个时代是什么?
[免责特此声明:
1)本内容可能是来自互联网的,或经过本人整理的,仅仅代表了互联网和个人的意见和看法!
2)本内容仅仅提供参考,任何参考该内容造成任何的后果,均与原创作者和本博客作者无关!]
电源,芯片的耗电量,移动设备的耗电量,家用电脑的耗电量都和钱有关系。
资源,家用电脑和移动设备上的处理器资源有限,因为要让一般消费者买的起。
体验,在更小的设备上会有更好的体验,有更好的体验就可以挣更多的钱。
2)C++的进化分成三个时代:
1979 – 1989:研究C的对象能力。主要是为C++做准备
1989 – 1999:C++成了主流。
1999 – 2009:Coffee-based语言(Java, .NET)出现了,极大的提高了开发生产力。
对于第三个时代,因为这个时候我们非常关注开发的生产力,这个非常重要,这就是为什么C++一下就失去优势的地方。但是是否这些Coffee-Based的语言可以做任何重要的事呢?不行,很多时候,这是一个Trade-Off的事,也就是生产力不是免费的是需要你用别的东西去交换的。
3)第四个时期:
2009-2019是第四个时期,因为我们又喜欢Native Code了,C++从被驱逐后又被请回来了。因为网站的性能越来越是个问题,移动端的设备非常流行。但主要是因为Performance就是钱,因为前面的三个因素,性能影响的是dollar,不尊重性能的公司都会发现花钱的速度太快了。
这就好像我在“软件开发的三重门”里说的,开垦时代需要的是快和生产力,而开垦完后就得保证其稳定性。
4)语言:
软件世界是由C和C++构成的。
5)语言的所属领域:
如果把我们的对编程语言的需求总结为四个:效率,灵活,抽象,生产率。那么,C语言玩的是前两个,而C++玩的是前三个,Java和C#玩的是后两个(抽象和生产率)。
6)移动设备:
上图中,第一个是iOS,第二个是Android,第三个是WinPhone7。
a)比Web APP,人们更喜欢Native的APP
b)iOS也好,Android也好,WinPhone7也好,他们不是在搞操作系统,而是在搞应用,为的是让智能手机更好。
c)这三个手机在第一片出来时都不支持C++,而第二版出来时都支持C++了。因为他们要兼顾性能和一定程度上的开发效率。WinPhone7还没有到第二版,让我们拭目以待。(我以前写过一篇调侃Android支持C++开发的文章,这也只是一年前的事,说明C++全面回归了)
8)如果你还是不相信的话,我们可以看看为什么Apple和Google都在搞C++的编译器,因为他们觉得G++性能不行。所以,基于LLVM的编译器正在领导潮流,因为我们关注Native Code的性能优化。
9)数据中心:
57%花在了硬件上。
18% 花在了配电和降温上。
13%花在了耗电上。
88%的钱花在了硬件和电力上。这可是很大一笔费用啊。(还有人说硬件比软件便宜吗?)。
10)C++是可以省电的
C++之父都在YouTube 说C++是可以减轻全球变暖的问题。哇,C++开始真正造福人类了。
“My contribution to the fight against global warming is C++’s efficiency: Just think if Google hadto 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.”
11)关注:
70年代80年代,资源不够,主要是把钱投在性能上。
80年代到90代,主要是90年代开始有一半的投次到了抽象和生产率上。
00年代,完全都在抽象和生产率上。
10年代,80%的钱都要回头来解决性能问题。这就是C/C++的王者归来。
11)C++还是致力于性能和抽象的完全平衡。
12)下个时代是什么?
[免责特此声明:
1)本内容可能是来自互联网的,或经过本人整理的,仅仅代表了互联网和个人的意见和看法!
2)本内容仅仅提供参考,任何参考该内容造成任何的后果,均与原创作者和本博客作者无关!]
相关文章推荐
- C++学习开山篇-偶遇《C++ Renaissance》-Why C++?
- 初学者学习C++的50条忠告
- 开始学习C++的实质——类
- 你应当如何学习C++ By 刘未鹏(pongba) C++的罗浮宫
- C++学习日记day04
- C++学习笔记23 初始化列表
- c++学习6--《c++必知必会》小结2
- Armadillo C++ linear algebra library 学习笔记(4)——矩阵的运算
- 设计模式C++学习笔记之十八(Visitor访问者模式)
- C++学习,总结一
- 设计模式C++学习笔记之十一(Bridge桥梁模式)
- c++学习心得(枚举)
- c++基础学习第三天(c++程序的结构课后练习)
- C++ Primer 学习笔记
- C++学习 boost学习之-enable_if
- 设计模式C++学习笔记之十八(Visitor访问者模式)
- C++学习之路-开篇
- C++ map类学习笔记
- 在学习C/C++过程中常见的那些坑,一定要多多注意
- 设计模式C++学习笔记之一(Strategy策略模式)