資源描述:
《專訪c之父bjarnestroustrup博士》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、專訪C++之父BjarneStroustrup博士BjarneStroustrup?1、C++的標(biāo)準(zhǔn)化進程?2、C++的模板函數(shù)??3、經(jīng)典流4、C++、Java與C#??5、Bjarne看C++的機制6、STL與C++的GUI??7、在C++中相得益彰的GP和OO8、今后C++將支持分布開發(fā)??9、愛好廣泛的Bjarne10、Bjarne的中國觀?1、C++的標(biāo)準(zhǔn)化進程 ?記者:C++的ANSI/ISO標(biāo)準(zhǔn)化標(biāo)志著C++的成熟。能告訴我們在這
2、個標(biāo)準(zhǔn)化的過程中,您感到最難忘、最快樂以及最遺憾的事分別是什么嗎?BjarneStroustrup:標(biāo)準(zhǔn)化進程其實是一項極具價值的重大活動,但是人們對它認識太不足了,而且整個進程也是荊棘滿途。實際上,通過標(biāo)準(zhǔn)化活動,C++語言顯得越發(fā)成熟和完善了,還因此而獲得了有著驚人表達能力的標(biāo)準(zhǔn)庫。編譯器的廠商老想束縛住他們的用戶,而正式的標(biāo)準(zhǔn)化活動,則是用戶們?yōu)閿?shù)不多的自衛(wèi)手段之一?! 『茈y說哪一件事是最特別的。在委員會中,大多數(shù)的工作都是發(fā)現(xiàn)、提煉和建立信任的這樣一個過程,這都需要花費大量的時間。不過最重
3、要的事莫過于以下兩件事,其一是1990年基于《TheC++ProgrammingLanguage》第2版的參考手冊(有模板和異常處理機制的那一版)進行C++標(biāo)準(zhǔn)化的那第一次的投票,其二則是1998年批準(zhǔn)ISO標(biāo)準(zhǔn)的最終表決。毋庸置疑,在這兩件大事當(dāng)中,將STL接納為標(biāo)準(zhǔn)庫一部分的投票是一件最令人歡欣鼓舞的快事。 可以說,沒有任何負面或者遺憾的事情能與這些具有進步意義的投票相提并論。說到"遺憾",要么是一些十分微小的技術(shù)細節(jié),要么就是那些(暫時)分化了委員會而使進展緩慢的討論。例如,我本來是反對C
4、風(fēng)格的強制類型轉(zhuǎn)換,也不想引入僅允許整型的靜態(tài)常量成員在類中初始化的機制。不過,這都是些無關(guān)痛癢的小節(jié)?! ∥艺诖硗庖淮侮P(guān)鍵的表決。明年(2002年)的某個時候,委員會將決定ISOC++的未來方向,這可是頭等大事??!BjarneStroustrup著作2、C++的模板函數(shù) ?記者:AlexanderStepanov說有一次他曾經(jīng)與你爭論。因為他認為C++的模板函數(shù)應(yīng)該像Ada通用類一樣顯式實例化,而你堅持認為函數(shù)應(yīng)使用重載機制隱式實例化
5、。正是由于您的堅持,這一技術(shù)后來在STL中發(fā)揮了重要作用。能跟我們具體談?wù)剢幔緽jarneStroustrup:對此,我已經(jīng)沒有多少可補充的了。在模板成為C++的一部分之前,Alex和我曾經(jīng)花了一些時間去討論語言特性。從我的角度來看,當(dāng)時的Ada經(jīng)驗給他施加了過大的影響,而Alex有著自己的優(yōu)勢--泛型編程的寶貴實踐經(jīng)驗,這恰恰是我的不足。他強化了我對不犧牲效率和內(nèi)限制表達能力或犧牲效率的實現(xiàn)方法。尤其是過去我對能否把模板參數(shù)限制在繼承層次持懷疑態(tài)度,如今我態(tài)度依然。聯(lián)的偏好。我們都討厭宏而喜歡類
6、型安全。他本來想要更強的模板參數(shù)的靜態(tài)類型檢驗,我也是這么想的,不過還沒有找到可以不 后來Alex創(chuàng)造性地使用了我所設(shè)計的模板特性,這就導(dǎo)致了STL的誕生,使得目前人們開始重視泛型及生成編程。跟Alex爭論很有意思!關(guān)于我對他風(fēng)格的印象,參看http://www.stlport.org/resources/StepanovUSA.html【記者注:這是一篇STL之父AlexanderStepanov的訪談錄,內(nèi)容相當(dāng)激進,心臟不好的人請做好一切必要準(zhǔn)備^_^。Alex在GP上有極深的造詣,這篇訪
7、談顛覆性不小,甚至可以看到他對OO的批判!也許徹底拋棄OO很難,但Alex的話確實富有啟發(fā)性,值得一看】?! ∥以?jīng)試驗過多種在不使用語言擴展的情況下約束模板參數(shù)的方式。個人早期的想法在《TheDesignandEvolutionofC++》(《C++語言的設(shè)計與演化》的中文版和影印版均已由機械工業(yè)出版社引進出版)一書中已有詳述,其后期的變體如今成為了普遍使用的約束和概念檢查的一部分。這些系統(tǒng)在表現(xiàn)力和彈性上比在其他語言中的常見內(nèi)建設(shè)施要強很多。如果要舉例的話,可以參閱我的C++StyleandT
8、echniqueFAQ(http://www.research.att.com/~bs/bs_faq2.html#constraints)。BjarneStroustrup3、經(jīng)典流 ?記者:JerrySchwarz在StandardC++IOStreamandLocales一書的前言中回顧了IOStream的歷史。我想在從經(jīng)典流到標(biāo)準(zhǔn)IOStream的轉(zhuǎn)變過程間一定有很多趣事,您能給我們講一些呢??BjarneStr