| 導購 | 订阅 | 在线投稿
分享
 
 
 

C&C++論戰之C++真的還有未來嗎?

來源:互聯網  2008-06-01 02:10:57  評論

Stephan Lavavej提出了一個非常有趣也很尖銳的問題:「C++的未來在哪裏?」

這個問題是有解的。沒有哪個語言會成爲永恒,不是嗎?(盡管C語言現在依舊生氣勃勃)我不希望C++在2017年,或者甚至在2057年也依然那麽有活力。在計算機行業,50年已經是一個幾乎不可思議的時間了;雖然到今年爲止,晶體管已有60年的曆史。所以,在我問「C++的未來在哪裏?」這個問題的時候,實際上是想問在接下來的10年,20年或者30年,C++會有什麽變化?

在文章中,Stephan引經據典,提到了Bjarne Stroustrup發布的一篇關于C++的論文,和Alexander Stepanov關于C++底層機器模型的訪談。

然後他指出,盡管C++作爲一門語言一直關注性能的問題,但根據Herb Sutter在2005年發表的一篇關于並發的趨勢以及語言必須演進以迎接這些挑戰的論文,由于工藝的限制,底層硬件的發展現在處于一個不穩定的狀態。Stephan說:

在C++改變最大的核心語言屬性列表中,應該包括可變參數模板(Variadic Template)、概念和左值引用(rvalue reference)等。前兩個會使得寫模板更加有趣,這當然很好,因爲模板是生産高效代碼的一個很有力的方法。另外第三個主要面向C++03中最爲薄弱的領域之一——複制數值的趨勢。

一個叫Jared的評論者也同意Stephan的觀點,但對.NET能否像C++那麽長盛不衰,沒有太大的信心:

說得好,但是我相信C++會一直興盛到2057年。實際上我認爲C++會比.NET撐得更久。(我認爲.NET最終會因爲市場驅動而成爲一個技術實體,但不好說)

Jim Grow不同意關于托管C++沒有像其他.NET語言引起別人注重的論點:

看上去C++將會被打入冷宮,只有幾個頑固不化的分子堅守陣地,大部分人都已轉投.NET編碼陣營。因爲C++和現代的工具集那麽地不合拍,公司和開發人員在無路可走的時候才會選擇它。真的好慘,C++本來可以使.NET平台上的一個非常優秀的語言。可悲地是,有些人卻別有動機,說.NET開發人員都在使用其他的語言。

Olivier Giroux擔憂的是C++內存模型在未來的表現:

在單個芯片裏同時運行100多個線程的性能,和只運行2到8個的情況是非常不同的,盡管你知道將來的趨勢是可以做到的。

因爲有足夠多的線程同時運行,指令就非常充足,你可以將已有的指令全都塞滿。很快,阿姆達爾定律(譯者注:該定律指出在體系結構的優化設計過程中,應該挑選對整體有重大影響的部件來進行優化,以得到更好的結果。)就把你牢牢拴在內存接口處。在過去,我們用緩存設計解決這樣的問題,但那要比一個超線程負載需要更多的分部一致性。

所以,C++在性能方面最大的威脅可能來自硬件,因爲通過C++現在提供的內存模型還不輕易對其進行相應的編程工作。

那麽InfoQ中文站的讀者對于C++作爲一門語言的前景是如何理解的呢?它是會繼續昂首上前,還是即將輝煌不再?

  Stephan Lavavej提出了一個非常有趣也很尖銳的問題:「C++的未來在哪裏?」   這個問題是有解的。沒有哪個語言會成爲永恒,不是嗎?(盡管C語言現在依舊生氣勃勃)我不希望C++在2017年,或者甚至在2057年也依然那麽有活力。在計算機行業,50年已經是一個幾乎不可思議的時間了;雖然到今年爲止,晶體管已有60年的曆史。所以,在我問「C++的未來在哪裏?」這個問題的時候,實際上是想問在接下來的10年,20年或者30年,C++會有什麽變化?   在文章中,Stephan引經據典,提到了Bjarne Stroustrup發布的一篇關于C++的論文,和Alexander Stepanov關于C++底層機器模型的訪談。   然後他指出,盡管C++作爲一門語言一直關注性能的問題,但根據Herb Sutter在2005年發表的一篇關于並發的趨勢以及語言必須演進以迎接這些挑戰的論文,由于工藝的限制,底層硬件的發展現在處于一個不穩定的狀態。Stephan說:   在C++改變最大的核心語言屬性列表中,應該包括可變參數模板(Variadic Template)、概念和左值引用(rvalue reference)等。前兩個會使得寫模板更加有趣,這當然很好,因爲模板是生産高效代碼的一個很有力的方法。另外第三個主要面向C++03中最爲薄弱的領域之一——複制數值的趨勢。   一個叫Jared的評論者也同意Stephan的觀點,但對.NET能否像C++那麽長盛不衰,沒有太大的信心:   說得好,但是我相信C++會一直興盛到2057年。實際上我認爲C++會比.NET撐得更久。(我認爲.NET最終會因爲市場驅動而成爲一個技術實體,但不好說)   Jim Grow不同意關于托管C++沒有像其他.NET語言引起別人注重的論點:   看上去C++將會被打入冷宮,只有幾個頑固不化的分子堅守陣地,大部分人都已轉投.NET編碼陣營。因爲C++和現代的工具集那麽地不合拍,公司和開發人員在無路可走的時候才會選擇它。真的好慘,C++本來可以使.NET平台上的一個非常優秀的語言。可悲地是,有些人卻別有動機,說.NET開發人員都在使用其他的語言。   Olivier Giroux擔憂的是C++內存模型在未來的表現:   在單個芯片裏同時運行100多個線程的性能,和只運行2到8個的情況是非常不同的,盡管你知道將來的趨勢是可以做到的。   因爲有足夠多的線程同時運行,指令就非常充足,你可以將已有的指令全都塞滿。很快,阿姆達爾定律(譯者注:該定律指出在體系結構的優化設計過程中,應該挑選對整體有重大影響的部件來進行優化,以得到更好的結果。)就把你牢牢拴在內存接口處。在過去,我們用緩存設計解決這樣的問題,但那要比一個超線程負載需要更多的分部一致性。   所以,C++在性能方面最大的威脅可能來自硬件,因爲通過C++現在提供的內存模型還不輕易對其進行相應的編程工作。   那麽InfoQ中文站的讀者對于C++作爲一門語言的前景是如何理解的呢?它是會繼續昂首上前,還是即將輝煌不再?
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有