青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

大龍的博客

常用鏈接

統計

最新評論

[轉載]C++之父B. Stroustrup言論

[轉載]C++之父B. Stroustrup言論- -

??????????????????????????????????????

翻譯者 : myan

[譯者按] Bjarne Stroustrup博士,1950年出生于丹麥,先后畢業于丹麥阿魯斯大學和英國劍橋大學,AT&T大規模程序設計研究部門負責人,AT&T、貝爾實驗室和ACM成員。1979年,B. S開始開發一種語言,當時稱為揅 with Class?#65292;后來演化為C++。1998年,ANSI/ISO C++標準建立,同年,B. S推出了其經典著作The C++ Programming Language的第三版。C++的標準化標志著B. S博士傾20年心血的偉大構想終于實現。但是,計算技術的發展一日千里,就在幾年前人們還猜想C++最終將一統天下,然而隨著Internet的爆炸性增長,類似Java、C#等新的、現代感十足的語言咄咄逼人,各種Script語言更是如雨后春筍紛紛涌現。在這種情況下,人們不禁有些惶恐不安。C++是不是已經過時了呢?其前景如何?標準C++有怎樣的意義?應該如何學習?我們不妨看看B. S對這些問題的思考。以下文字是譯者從Stroustrup1998年之后發表的若干文章、談話筆記中精選出來的,由于出處不一,內容多有重復。為保持完整,亦一并譯出。以下內容選自B. S在自己主頁上發表的FAQ。

1、請談談C++書。

沒有,也不可能有一本書對于所有人來說都是最好的。不過對于那些真正的程序員來說,如果他喜歡從?#32463;典風格?#30340;書中間學習一些新的概念和技術,我推薦我的<The C++ Programming Language>, 1998年的第三版和特別版。那本書講的是純而又純的C++,完全獨立于平臺和庫(當然得講到標準庫)。該書面向那些有一定經驗的程序員,幫助他們掌握C++,但不適合毫無經驗的初學者入門,也不適合那些臨時程序員品嘗C++快餐。所以這本書的重點在于概念和技術,而且在完整性和精確性上下了不少功夫。如果你想知道為什么C++會變成今天的模樣,我的另一本書<The Design and Evolution of C++> 能給你滿意的答案。理解設計的原則和限制能幫助你寫出更好的程序。www.accu.com是最好的書評網站之一,很多有經驗的程序員在此仗義執言,不妨去看看。

2. 學習C++要花多長時間?

這要看你說的?#23398;習?#26159;什么意思了。如果你是一個Pascal程序員,你應該能很快地使你的C++水平達到與Pascal相近的程度;而如果你是一個C程序員,一天之內你就能學會使用C++進行更出色的C風格編程。另一方面,如果你想完全掌握C++的主要機制,例如數據抽象,面向對象編程,通用編程,面向對象設計等等,而此前又對這些東西不很熟悉的話,花上個一兩年是不足為奇的。那么是不是說這就是學習C++所需要的時間呢?也許再翻一番,我想打算成為更出色的設計師和程序員最起碼也要這么長的時間。如果學習一種新的語言不能使我們的工作和思想方式發生深刻的變革,那又何苦呢?和成為一個鋼琴家或者熟練掌握一門外語相比,學習一種新的、不同的語言和編程風格還算是簡單的。

3. 了解C是學習C++的先決條件嗎?

否!C++中與C相近的子集其實比C語言本身要好學,類型方面的錯誤會少一些,也不像C那樣繞圈子,還有更好的支持庫。所以應該從這個子集開始學習C++。

4. 要想成為真正的OO程序員,我是不是得先學習Smalltalk?

否。如果你想學Smalltalk,盡管去學。這種語言很有趣,而且學習新東西總是一個好主意。但是Smalltalk不是C++,而且把Smalltalk的編程風格用在C++里不會有什么好結果。如果你想成為一個出色的C++程序員,而且也沒有幾個月的時間百無聊賴,請你集中力量學好C++以及其背后的思想。

5. 我如何開始學習C++?

這取決于你的基礎和學習動機。如果你是個初學者,我想你最好找個有經驗的程序員來幫助你,要不然你在學習和實踐中不可避免的犯下的種種錯誤會大大地打擊你的積極性。另外,即使你的編譯器配備了充足的文檔資料,一本C++書籍也永遠是必不可少的,畢竟文檔資料不是學習編程思想的好教材。選擇書籍時,務必注意該書是不是從一開始就講授標準C++,并且矢志不渝地使用標準庫機制。例如,從輸入中讀取一個字符串應該是這樣的:
string s; // Standard C++ style
cin >> s;
而不是這樣的:
char s[MAX]; /* Standard C style */
scanf("%s",s);
去看看那些扎實的C++程序員們推薦的書吧。記住,沒有哪本書對所有人來說都是最好的。另外,要寫地道的C++程序,而避免用C++的語法寫傳統風格的程序,新瓶裝舊酒沒多大意義。(遺憾的是,目前在市面上的中文C++教材中,符合B. S的這個標準的可以說一本都沒有,大家只好到網上找一些英文的資料來學習了。棗譯者)

6. 怎樣改進我的C++程序?

不好說,這取決于你是怎么使用該語言的。大多數人低估了抽象類和模板的價值,反過來卻肆無忌憚地使用造型機制(cast)和宏。這方面可以看看我的文章和書。抽象類和和模板的作用當然是提供一種方便的手段建構單根的類層次或者重用函數,但更重要的是,它們作為接口提供了簡潔的、邏輯性的服務表示機制。

7. 語言的選擇是不是很重要?

是,但也別指望奇跡。很多人似乎相信某一種語言能夠解決他們在系統開發中遇到的幾乎所有問題,他們不斷地去尋找完美的編程語言,然后一次次的失敗,一次次的沮喪。另外一些人則將編程語言貶為無關緊要的細節,把大把大把的銀子放在開發流程和設計方法上,他們永遠都在用著COBOL, C和一些專有語言。一種優秀的語言,例如C++,能幫助設計者和程序員做很多事情,而其能力和缺陷又能夠被清楚地了解和對待。

8. ANSI/ISO標準委員會是不是糟蹋了C++?

當然不是!他們(我們)的工作很出色。你可以在一些細節上找些歪理來挑刺,但我個人對于這種語言以及新的標準庫可是欣欣然。ISO C++較之C++的以前版本更出色更有條理。相對于標準化過程剛剛開始之初,你今天可以寫出更優雅、更易于維護的C++程序。新的標準庫也是一份真正的大禮。由于標準庫提供了strings, lists, vectors, maps以及作用于其上的基本算法,使用C++的方式已經發生了巨大的變化。

9. 你現在有沒有想刪除一些C++特性?

沒有,真的。問這些問題的人大概是希望我回答下面特性中的一個:多繼承、異常、模板和RTTI。但是沒有它們,C++就是不完整的。在過去的N年中,我已經反復考慮過它們的設計,并且與標準委員會一起改進了其細節,但是沒有一個能被去掉又不引起大地震。
從語言設計的角度講,我最不喜歡的部分是與C兼容的那個子集,但又不能把它去掉,因為那樣對于在現實世界里工作的程序員們來說傷害太大了。C++與C兼容,這是一項關鍵的設計決策,絕對不是一個叫賣的噱頭。兼容性的實現和維護是十分困難的,但確實使程序員們至今受益良多。但是現在,C++已經有了新的特性,程序員們可以從麻煩多多的C風格中解脫出來。例如,使用標準庫里的容器類,像vector, list, map, string等等,可以避免與底層的指針操作技巧混戰不休。

10. 如果不必和C兼容,你所創造的語言是不是就會是Java?

不是,差得遠。如果人們非要拿C++和Java來做比較,我建議他們去閱讀<The Design and Evolution of C++>,看看C++為什么是今天這個樣子,用我在設計C++時遵從的原則來檢驗這兩種語言。這些原則與SUN的Java開發小組所持的理念顯然是不同的。除了表面語法的相似性之外,C++與Java是截然不同的語言。在很多方面,Java更像Smalltalk(譯者按:我學習Java時用的是Sun的培訓教材,里面清楚地寫道:Java在設計上采用了與C++相似的語法,與Smalltalk相似的語義,所以可以說Java與C++是貌合神離,與Smalltalk才是心有靈犀)。Java語言相對簡單,這部分是一種錯覺,部分是因為這種語言還不完整。隨著時間的推移,Java在體積和復雜程度上都會大大增長。在體積上它會增長兩到三倍,而且會出現一些實現相關的擴展或者庫。這是一條每個成功的商業語言都必須走過的發展之路。隨便分析一種你認為在很大范圍內取得了成功的語言,我知道肯定是無有例外者,而且實際上這非常有道理。

上邊這段話是在Java 1.1推出之前寫的。我確信Java需要類似模板的機制,并且需要增強對于固有類型的支持。簡單地說,就是為了基本的完整性也應該做這些工作。另外還需要做很多小的改動,大部分是擴展。1998年秋,我從James Gosling(Java語言的創始人棗譯者)那里得到一份建議書,說是要在Java中增加固有類型、操作符重載以及數學計算支持。還有一篇論文,是數學分析領域的世界級大師,伯克利大學的W. Kahan教授所寫的How Java抯 Floating-Point Hurts Everyone Everywhere(?#19988;看Java的浮點運算如何危害了普天下的蕓蕓眾生敆?#35793;者),揭露了Java的一些秘密。我發現在電視和出版物中關于Java的鼓吹是不準確的,而且氣勢洶洶,讓人討厭。大肆叫囂凡是非Java的代碼都是垃圾,這是對程序員的侮辱;建議把所有的保留代碼都用Java重寫,這是喪心病狂,既不現實也不負責任。Sun和他的追隨者似乎覺得為了對付微軟罪惡的?#24093;國時代?#65292;就必須如此自吹自擂。但是侮辱和欺詐只會把那些喜歡使用不同編程語言的程序員逼到微軟陣營里去。
Java并非平臺無關,它本身就是平臺。跟Windows一樣,它也是一個專有的商業平臺。也就是說,你可以為Windows/Intel編寫代碼,也可以為Java/JVM編寫代碼,在任何一種情況下,你都是在為一個屬于某個公司的平臺寫代碼,這些代碼都是與該公司的商業利益扯在一起的。當然你可以使用任何一種語言,結合操作系統的機制來編寫可供JVM執行的程序,但是JVM之類的東西是強烈地偏向于Java語言的。它一點也不像是通用的、公平的、語言中立的VM/OS。
私下里,我會堅持使用可移植的C++作大部分工作,用不同的語言作余下的工作。(Java is not platform-independent, it is the platform?#65292;B. S的這句評語對于C++用戶有著很大的影響,譯者在國外的幾個新聞組里看到,有些C++高手甚至把這句話作為自己的簽名檔,以表明對Java的態度和誓死捍衛C++的決心。實際上有很多程序員不光是把自己喜愛的語言當成一種工具,更當成一種信仰。棗譯者)

posted on 2006-12-03 19:11 大龍 閱讀(197) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品自拍网站| 久久人人爽人人| 国产精品video| 久久在线91| 久久久国产精品亚洲一区| 亚洲中午字幕| 亚洲一区精品电影| 亚洲一区精彩视频| 中文在线一区| 亚洲自拍偷拍色片视频| 亚洲欧美一区二区激情| 亚洲欧洲精品一区二区三区| 免费在线看一区| 欧美黄网免费在线观看| 亚洲国产高清在线| 亚洲激情中文1区| 日韩视频一区二区在线观看 | 夜夜夜久久久| 欧美激情麻豆| 久久久久久国产精品mv| 久久精品在线播放| 久久综合综合久久综合| 欧美91视频| 欧美精品一区二区三区蜜桃| 欧美日韩综合不卡| 国产亚洲高清视频| 亚洲国产va精品久久久不卡综合| 国产精品亚洲视频| 国产一区二区高清不卡| 亚洲大片一区二区三区| 99re6这里只有精品| 亚洲尤物在线| 久久伊人免费视频| 亚洲精品在线免费| 欧美一区二区三区四区在线观看地址| 99在线|亚洲一区二区| 亚洲男人第一网站| 久久影院亚洲| 欧美体内谢she精2性欧美 | 久久亚洲欧美国产精品乐播| 久久综合网hezyo| 亚洲人成欧美中文字幕| 亚洲综合色噜噜狠狠| 久久久欧美精品| 欧美午夜精品| 亚洲国产网站| 亚洲女性裸体视频| 欧美大胆人体视频| 午夜一级在线看亚洲| 欧美.www| 激情久久久久久久| 亚洲精品免费一区二区三区| 欧美一区二区三区播放老司机| 久久精品综合网| 亚洲人成网在线播放| 欧美一区二区三区精品| 欧美日本一区| 亚洲国产高清一区| 久久国产日本精品| 99av国产精品欲麻豆| 久久大香伊蕉在人线观看热2| 免费在线欧美视频| 香蕉成人伊视频在线观看| 欧美激情一区二区三区在线视频观看| 欧美日本亚洲| 亚洲高清在线播放| 久久裸体视频| 亚洲深夜福利| 欧美吻胸吃奶大尺度电影| 亚洲免费高清| 欧美激情亚洲视频| 久久久精品国产免费观看同学| 欧美日韩精品免费观看视频| 亚洲高清中文字幕| 亚洲欧美日韩久久精品| 欧美成人免费全部| 国产精品无码专区在线观看| 亚洲一区二区三区精品在线观看| 久久另类ts人妖一区二区| 午夜精品成人在线| 麻豆成人在线观看| 黄色亚洲在线| 欧美人交a欧美精品| 亚洲激情网站| 中国成人黄色视屏| 国产综合激情| 亚洲人精品午夜在线观看| 国产精品国产福利国产秒拍| 久久久国产成人精品| 欧美成人免费在线视频| 亚洲专区在线视频| 久久精品国产一区二区三| 日韩午夜激情| 欧美一区二区三区视频在线观看| 在线日韩一区二区| 一区二区三区欧美亚洲| 亚洲成人自拍视频| 亚洲永久免费视频| 亚洲精品免费在线观看| 午夜精品婷婷| 亚洲天天影视| 免费不卡中文字幕视频| 先锋影音网一区二区| 欧美大片国产精品| 久久精品最新地址| 国产精品二区在线观看| 亚洲国产成人在线视频| 国产日韩欧美一区二区| 999在线观看精品免费不卡网站| 国产欧美一区二区三区在线看蜜臀| 美女日韩在线中文字幕| 国产精品久久综合| 亚洲精品资源| 亚洲啪啪91| 久久这里只有| 久久久噜噜噜久久人人看| 国产精品久久久久免费a∨| 亚洲经典三级| 亚洲国产乱码最新视频 | 欧美在线免费视频| 亚洲欧美一区二区精品久久久| 乱码第一页成人| 久久综合久久久久88| 国产乱码精品一区二区三区不卡| 亚洲国产欧美一区二区三区同亚洲| 国产乱码精品一区二区三区忘忧草| 亚洲国产精品一区二区久| 一区二区在线观看视频| 欧美一区深夜视频| 久久精品在线播放| 国产尤物精品| 久久精精品视频| 久久人人97超碰精品888| 国产欧美日本一区二区三区| 亚洲综合精品一区二区| 久久成人国产| 亚洲日本va午夜在线影院| 美女999久久久精品视频| 欧美一区=区| 国产色产综合色产在线视频| 亚洲自拍啪啪| 久久久蜜臀国产一区二区| 国产午夜精品久久久久久久| 欧美亚洲专区| 久久综合伊人77777蜜臀| 亚洲福利国产精品| 欧美精品一卡| 亚洲一区二区在线免费观看| 久久精品99| 亚洲丰满少妇videoshd| 欧美黑人多人双交| 一区二区三区视频在线播放| 欧美一区三区三区高中清蜜桃| 国产精品一区二区三区久久久| 亚洲私人影院| 久久精品盗摄| 亚洲清纯自拍| 欧美午夜精品一区| 欧美一级理论片| 亚洲电影免费在线| 亚洲综合电影| 伊人精品在线| 欧美私人网站| 久久精品一区二区三区不卡牛牛 | 好看的日韩av电影| 男女视频一区二区| 一区二区三区 在线观看视| 久久精品一区二区国产| 亚洲久久成人| 国产日韩在线不卡| 欧美成人中文字幕| 亚洲香蕉在线观看| 欧美aⅴ99久久黑人专区| 一本久久精品一区二区| 国产一区二区三区最好精华液| 久久久另类综合| 一本一本久久a久久精品综合麻豆| 欧美一区二区三区喷汁尤物| 亚洲激情影视| 国产亚洲精品久久飘花| 欧美日韩国产黄| 久久久久9999亚洲精品| 一区二区三区四区在线| 亚洲福利专区| 久久综合狠狠| 小黄鸭精品aⅴ导航网站入口| 1024日韩| 国产亚洲综合在线| 国产精品日韩久久久久| 欧美伦理91i| 久久精品一区二区三区不卡牛牛| 99日韩精品| 亚洲欧洲日产国产网站| 麻豆av一区二区三区久久| 欧美影院在线| 亚洲欧美99| 亚洲欧美日韩在线一区| 一区二区三区国产精品| 亚洲精品日韩在线观看| 亚洲黄一区二区三区|