• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            因為又有人邀請我去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”看看。另外,該視頻的講議可以在這里下載

            原文網址:http://coolshell.cn/articles/6548.html

            posted on 2012-05-04 22:16 Richard Wei 閱讀(1710) 評論(0)  編輯 收藏 引用 所屬分類: 行業動態
            久久精品www人人爽人人| 久久久久亚洲av毛片大| 精品无码久久久久久尤物| 久久w5ww成w人免费| 国产精品综合久久第一页 | 久久久久噜噜噜亚洲熟女综合| 久久综合一区二区无码| 老男人久久青草av高清| 国产一久久香蕉国产线看观看 | www久久久天天com| 久久天天躁狠狠躁夜夜av浪潮| 性色欲网站人妻丰满中文久久不卡| 久久久久综合网久久| 亚洲精品乱码久久久久久 | 亚洲欧洲日产国码无码久久99| 国产一级做a爰片久久毛片| 久久妇女高潮几次MBA| 国产精品嫩草影院久久| 狠狠狠色丁香婷婷综合久久五月| 一级做a爰片久久毛片看看| 久久精品成人免费看| 久久夜色精品国产噜噜麻豆| 久久国产综合精品五月天| 久久人人爽人人爽人人片av高请| 亚洲国产视频久久| 久久www免费人成精品香蕉| 国产99久久久久久免费看| 久久精品毛片免费观看| 久久精品无码一区二区无码| 久久久久久精品久久久久| 人妻无码精品久久亚瑟影视| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 欧美亚洲另类久久综合| 久久精品夜夜夜夜夜久久| 久久天天躁狠狠躁夜夜不卡| 欧美精品丝袜久久久中文字幕 | 无码人妻久久一区二区三区免费丨 | 亚洲国产成人久久精品动漫| 国产精品久久影院| 中文字幕亚洲综合久久2| 国产精品激情综合久久|