国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
真實(shí)的C++之父

真實(shí)的C++之父

——Bjarne Stroustrup訪談錄

趙玉勇

Bjarne Stroustrup簡(jiǎn)介

許多重要人物之所以成名,或者是因?yàn)槠涓淖兞藲v史或者是因?yàn)槠鋭?chuàng)造了歷史,Bjarne Stroustrup先生,C++之父,屬于后者;歸結(jié)個(gè)人成功的原因,理由可能有許多,但他只有淺顯的兩個(gè)一點(diǎn)點(diǎn):他比多數(shù)人天真和理想主義那么一點(diǎn)點(diǎn);比多數(shù)人花在解決問題上的時(shí)間多一點(diǎn)點(diǎn)。

C++程序設(shè)計(jì)語(yǔ)言是一種承前啟后,被數(shù)以百萬(wàn)計(jì)的程序員應(yīng)用在各個(gè)領(lǐng)域中的語(yǔ)言,我們正在使用的Windows操作系統(tǒng),我們上網(wǎng)用的瀏覽器IE無(wú)不是出自C++的手筆。

C++是一種重要的和比較流行的計(jì)算機(jī)語(yǔ)言之一,也是未來十年內(nèi)仍然發(fā)揮重要作用的語(yǔ)言。C++語(yǔ)言是一種通用的應(yīng)用廣范的程序設(shè)計(jì)語(yǔ)言,是一種既支持傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì),又支持面向?qū)ο蟪绦蛟O(shè)計(jì)的系統(tǒng)復(fù)雜的語(yǔ)言。C++對(duì)C語(yǔ)言的擴(kuò)充首先由 Stroustrup先生于1980年在貝爾實(shí)驗(yàn)室提出的,于1983年改名為C++。盡管C++的祖先C語(yǔ)言是世界上最受喜愛和應(yīng)用最廣的專業(yè)程序設(shè)計(jì)語(yǔ)言之一,但C++的發(fā)明是必需的。C++的本質(zhì)就是讓程序員理解和管理更大更復(fù)雜的程序。而對(duì)這種語(yǔ)言有著最大貢獻(xiàn)的C++之父又是怎樣一個(gè)人呢?

Bjarne Stroustrup先生,1950年生于丹麥港口城市奧爾胡斯,1975年在奧爾胡斯大學(xué)畢業(yè),1979年獲得劍橋大學(xué)計(jì)算機(jī)科學(xué)博士學(xué)位。他是C++語(yǔ)言的設(shè)計(jì)者和實(shí)現(xiàn)者,現(xiàn)在是得克薩斯州A&M大學(xué)計(jì)算機(jī)系教授。1979年他來到美國(guó)的新澤西州并加入貝爾實(shí)驗(yàn)室,與C語(yǔ)言之父、1983年圖靈獎(jiǎng)得主Dennis Ritchie以及大名鼎鼎的Brian Kernighan(兩人合著《C程序設(shè)計(jì)語(yǔ)言》)共事多年,期間參與了貝爾實(shí)驗(yàn)室的C語(yǔ)言標(biāo)準(zhǔn)化活動(dòng)。他的研究興趣十分廣泛,包括分布式系統(tǒng)、操作系統(tǒng)、仿真、設(shè)計(jì)以及編程,Bjarne還積極推動(dòng)C++ANSI/ISO標(biāo)準(zhǔn)化。

20世紀(jì)90年代以后,Bjarne Stroustrup步入人生的最輝煌時(shí)期。

1990年,Bjarne榮獲《財(cái)富》雜志評(píng)選的“美國(guó)12位最年輕的科學(xué)家”稱號(hào)。

1993年,由于在C++領(lǐng)域的重大貢獻(xiàn),Bjarne獲得了ACM該年度的 Grace Murray Hopper大獎(jiǎng)并成為ACM院士(成立于1947年的ACM協(xié)會(huì)是歷史最悠久、目前世界上最大的教育和科學(xué)計(jì)算協(xié)會(huì),成為ACM院士是個(gè)人成就的里程碑)。

1995年,BYTE雜志頒予他“近20年來計(jì)算機(jī)工業(yè)最具影響力的20人”的稱號(hào)。

除了他的專業(yè)研究領(lǐng)域外,他對(duì)歷史,通俗文學(xué),攝影,運(yùn)動(dòng),旅行和音樂等有廣泛的興趣。他對(duì)C++語(yǔ)言的推廣也做出了極大的貢獻(xiàn),他寫的書“The C++ Programming LanguageC++程序設(shè)計(jì)語(yǔ)言》”已經(jīng)成為這種語(yǔ)言中最為流行的學(xué)習(xí)資料,至少被翻譯成18種語(yǔ)言。

給中國(guó)程序員最美好的祝愿

2004128日,杭州,C++之父Bjarne Struostrup先生再次來到中國(guó)。我們有幸采訪到了這位大師!請(qǐng)看大師給中國(guó)程序員的最美好祝愿。

問: 您對(duì)中國(guó)和中國(guó)的程序員有什么認(rèn)識(shí)?您想對(duì)他們說點(diǎn)什么嗎?

Bjarne Stroustrup中國(guó)是個(gè)大國(guó),并且她有許許多多有趣的文化。我想和中國(guó)程序員說的和對(duì)其他國(guó)家的程序員說的是一樣的,所以我有如下的回答:優(yōu)秀軟件所具有的特點(diǎn)和技術(shù)在全世界都是通用的。

C++之父給中國(guó)程序員最美好的祝愿

現(xiàn)在,成為一名電腦高手是許多年輕學(xué)生的夢(mèng)想,面對(duì)Stroustrup這樣一位大師級(jí)人物的出現(xiàn),最令我們感興趣的問題莫過于:Bjarne成為大師的歷程是什么樣子的呢?

Bjarne Stroustrup先生出生的奧爾胡斯市是日德蘭半島東海岸的一個(gè)美麗的小城,那里每家都有自己的小公寓,公寓里有個(gè)小院,小院是孩子們踢足球的地方,那時(shí),成為一名足球明星比成為一名電腦高手是更可行的想法,做一名電腦名星好象是很遙遠(yuǎn)的事情,因?yàn)閭€(gè)人不太可能擁有一臺(tái)昂貴的計(jì)算機(jī)。很幸運(yùn),在大學(xué)時(shí)他就用上了系里的計(jì)算機(jī),它叫GIER,是一臺(tái)舊的丹麥計(jì)算機(jī),有一個(gè)房間那么大,程序都寫在磁帶上面,他用它學(xué)習(xí)Algol 60程序設(shè)計(jì)。

而對(duì)Bjarne生活產(chǎn)生質(zhì)的變化的事情是什么呢?

他認(rèn)為在他的發(fā)展生涯中,最關(guān)鍵的一個(gè)項(xiàng)目是在劍橋大學(xué)攻讀博士學(xué)位時(shí)用Simula67計(jì)算機(jī)做的模擬分布式系統(tǒng)。做這個(gè)項(xiàng)目除了使他成為一名頂尖的程序設(shè)計(jì)高手外,更使他養(yǎng)成了程序員應(yīng)具有的溝通和交流能力,這為他后來的發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。

BC

BjarneC有緣。

Bjarne Stroustrup先生和CChina中國(guó))有緣,對(duì)他來說中國(guó)是一個(gè)神秘、美麗而有趣的國(guó)度。

Bjarne兩度親密接觸中國(guó),第一次是2002年,曾在中國(guó)的幾所大學(xué)講學(xué),而第二次是在浙江大學(xué)參加ICESS國(guó)際會(huì)議ICESS 2004, http://www.cs.zju.edu.cn/icess2004/Bjarne Stroustrup先生兩年前在中國(guó)有過長(zhǎng)時(shí)間的旅程,而在杭城的日子恰逢陰雨,這次到來對(duì)晴天的期望是強(qiáng)烈的,何況有杭州西湖美景。作為丹麥人,也就是賣火柴的小女孩誕生的地方,也就是安徒生童話誕生的國(guó)度,和中國(guó)有著很深的淵源,安徒生童話里恰巧里面有一篇《夜鶯》,那里寫到了中國(guó),而Bjarne Stroustrup先生對(duì)于C(中國(guó))的認(rèn)識(shí)又是什么呢?

他的回答很微妙,他自然知道安徒生童話,他也很喜歡它們,《夜鶯》中描繪的中國(guó)純是虛構(gòu),與當(dāng)時(shí)的中國(guó)可能有也可能沒有任何關(guān)系,安徒生創(chuàng)造了那個(gè)“中國(guó)”來泛指多個(gè)國(guó)家及其統(tǒng)治者。而作為一個(gè)教育者,他對(duì)中國(guó)的教育老祖師孔老夫子也有自己獨(dú)到的見解。

作為第二個(gè)C,自然就是C++了。勿庸置疑,C++對(duì)于IT的分量,和對(duì)于Bjarne個(gè)人的影響,都是巨大的。還有一個(gè)C,就是計(jì)算機(jī),且看下面他如何描述自己與計(jì)算機(jī)的聯(lián)系。

問: 您的生活是怎樣和計(jì)算機(jī)聯(lián)系在一起的?

Bjarne Stroustrup我也不曉得自己到底是怎樣和計(jì)算機(jī)聯(lián)系在一起的。當(dāng)我上高中時(shí),不知什么原因總覺得計(jì)算機(jī)科學(xué)是數(shù)學(xué)的某種實(shí)用形式。而事實(shí)不完全是這樣,或者至少?gòu)能浖陌l(fā)展上看并不是如此,但正是這種誤解使得我在還不知計(jì)算機(jī)為何物時(shí)選擇了 “計(jì)算機(jī)科學(xué)數(shù)學(xué)” ,作為我學(xué)習(xí)的專業(yè),并獲得了我的碩士學(xué)位。我寫完第一個(gè)程序后,就著了迷,曾沒有回過頭。正象大家所看到的,很幸運(yùn),我找到了一個(gè)使自己的才能可以很好地發(fā)揮的位子。

問:您怎樣教育自己的孩子和學(xué)生們?

Bjarne Stroustrup多數(shù)情況下,我是通過實(shí)例來進(jìn)行教學(xué)的。我認(rèn)為多數(shù)人過高的估計(jì)了言語(yǔ)的影響力,而過低的估計(jì)了這種影響力是怎樣達(dá)到的過程。我盡量通過把理論和實(shí)踐相結(jié)合起來以更好地達(dá)到目的,這樣可以比僅用理論或僅用實(shí)踐示例來教育更能取得事半功倍的成效。我盡量舉出實(shí)例,從這些活生生的實(shí)例中引導(dǎo)歸納出一般的規(guī)則和概念。

C++是怎樣煉成的,是什么促成了C++語(yǔ)言?這象迷一樣繞在我們的心頭;那什么又是計(jì)算機(jī)語(yǔ)言呢?后者弄懂了,前者看起來也許就更簡(jiǎn)單了!且看大師的回答:

問: 您覺得計(jì)算機(jī)語(yǔ)言和我們?nèi)祟惖恼Z(yǔ)言有什么不同呢?

Bjarne Stroustrup計(jì)算機(jī)語(yǔ)言要比人類語(yǔ)言簡(jiǎn)單的多,并且精確的多,那也是它應(yīng)該具有的方式。我不贊成用自然語(yǔ)言去指令電腦的想法。一種程序語(yǔ)言是專家們的工具,并且和普通人相比,是對(duì)所有的專家來說用更加專業(yè)、定義的更加精確的符號(hào)和術(shù)語(yǔ)來表達(dá)的工具。

當(dāng)然兩者也有相同之處。那些用的較多的語(yǔ)言比那些使用率較小的語(yǔ)言擁有更多的俗語(yǔ)、表達(dá)方式、詞匯,這一點(diǎn)無(wú)論是計(jì)算機(jī)語(yǔ)言還是自然語(yǔ)言都是一樣的。語(yǔ)言還有一個(gè)傾向就是越來越易學(xué),但卻很難精通,象C++和英語(yǔ)。在兩種語(yǔ)言當(dāng)中,我們都希望能從最初的基本的應(yīng)用到真正的掌握。另外一個(gè)相同之處就是語(yǔ)言的發(fā)展都要適應(yīng)一個(gè)群體的需求,并且一個(gè)大的群體或者說社區(qū)本身就有重要意義,因?yàn)樽鳛檫@個(gè)群體的一部分可以讓你有更多的人來進(jìn)行互動(dòng)并且有更多的機(jī)會(huì)可以使用。所有鮮活的語(yǔ)言都是通過獲得新的術(shù)語(yǔ)、俗語(yǔ)和表達(dá)方式來得到發(fā)展的。在C++中我們已經(jīng)看到了關(guān)于模板技術(shù)的迅猛發(fā)展,始因是STL(注:STL指標(biāo)準(zhǔn)模板庫(kù),后面我們將采訪STL之父Stepanov先生,他確實(shí)有許多精彩的言論,和Bjarne Stroustrup先生相比,毫不遜色),也就是經(jīng)常提到的泛型編程(generic programming和模板元程序(template metaprogramming。以后幾年里,我們將會(huì)在新的ISO C++標(biāo)準(zhǔn)中看到,比1998年標(biāo)準(zhǔn)中對(duì)模板技術(shù)更強(qiáng)的支持和更廣的應(yīng)用。

那么,究竟是什么促成了C++語(yǔ)言呢?

他的研究生涯給了他很大靈感,他所在的AT&T貝爾實(shí)驗(yàn)室是一個(gè)光榮的群體,那里有一群非常出色的研究人員,那里有許多著名的IT人物,他們彼此間的影響十分深遠(yuǎn)。他曾經(jīng)和C語(yǔ)言之父Dennis Ritchie親密接觸十多年,他們的辦公室相距不遠(yuǎn),C++語(yǔ)言受C的影響是巨大的。而對(duì)于C++來說,尤其值得我們推崇的是:作為一種學(xué)術(shù)性語(yǔ)言,他是從商業(yè)性語(yǔ)言的重圍中殺出的。

1979Bjarne在劍橋完成學(xué)業(yè)后,到了貝爾實(shí)驗(yàn)室從事研究工作,20世紀(jì)80年代,AT&T曾拔款5000美元作為市場(chǎng)預(yù)算,創(chuàng)建一門語(yǔ)言的決心可能由此而始。在那里,開始研究幾個(gè)與分布式計(jì)算有關(guān)的項(xiàng)目??墒枪ぷ鬟M(jìn)展得并不順利,因?yàn)槟菚r(shí)幾乎所有程序設(shè)計(jì)工具都不適合完成此類工作。所以,他決定自己開發(fā)一個(gè)名為“帶類的C”的工具,它既允許以類似于Simula的方式組織程序(這種方式現(xiàn)在被稱為面向?qū)ο螅?,同時(shí)也支持在硬件層次上進(jìn)行系統(tǒng)軟件開發(fā)。從1980年開始,“帶類的C”被應(yīng)用于貝爾實(shí)驗(yàn)室的很多應(yīng)用領(lǐng)域,在應(yīng)用過程中,他又學(xué)到了很多東西,而C++正是以“帶類的C”為基礎(chǔ)并結(jié)合了一些我們學(xué)到的新東西發(fā)展而來的。1983年夏天,Rick Mascitti給起了C++的名字,這個(gè)名字也象征著兩種語(yǔ)言之間巨大的淵源。

生活中更有意義的事情

對(duì)于Bjarne來說,生活中更有意義的事情是什么呢?是學(xué)習(xí)和教育。這看起來象個(gè)沉重的話題,而在Bjarne身上卻顯得如此生動(dòng),作為教育家,Bjarne Stroustrup先生本身便是一個(gè)成才的典范,他出身于農(nóng)場(chǎng)和“藍(lán)領(lǐng)工人”家庭,他在專業(yè)領(lǐng)域孜孜耕耘,取得了不菲業(yè)績(jī)。先是AT&T的研究者,現(xiàn)在又兼任教席,Bjarne從研究室又走進(jìn)了大學(xué),直接面對(duì)大學(xué)的新學(xué)生!

C++Bjarne生命中最重要的事情,而還有一些更有意義的事情。

他對(duì)大學(xué)教育情有獨(dú)衷,他現(xiàn)在是A&M大學(xué)的教授,這種行動(dòng)便是很好的說明,在這里,以一種在AT&T研究所中無(wú)法采用的方式將研究和教學(xué)結(jié)合起來。他認(rèn)為教學(xué)是一種與工業(yè)生產(chǎn)不同的能影響世界并使其變得更加美好的方式,而且大學(xué)里的研究工作的成果與曾經(jīng)進(jìn)行的工業(yè)研究的并不相同 - 不是說它更好,僅僅只是不同而已。

他的一些教育觀點(diǎn)也非常值得我們深思:

他說,不要只學(xué)習(xí)計(jì)算機(jī)和編程,要積累一種或多種領(lǐng)域的經(jīng)驗(yàn),要有其他專業(yè)知識(shí),這樣就能明白什么東西值得我們?nèi)ゾ幊虒?shí)現(xiàn)。另外,學(xué)習(xí)多種語(yǔ)言也是他一再?gòu)?qiáng)調(diào)的,如果只學(xué)一種,容易導(dǎo)致想象力的僵化。他本人愛好廣范,精通多種計(jì)算機(jī)語(yǔ)言。

 

問:您覺得怎樣才是學(xué)編程的好方法?學(xué)習(xí)語(yǔ)言時(shí)一種好的工具是不是必需的?

Bjarne Stroustrup 這是過去一年左右里一直占據(jù)我大部分注意力的一個(gè)問題。我志愿教授電子工程/計(jì)算機(jī)工程專業(yè)大學(xué)一年級(jí)的學(xué)生編程,我認(rèn)為我們目前教編程的傳統(tǒng)方法不夠嚴(yán)謹(jǐn)也不夠廣闊。我們社會(huì)的文明進(jìn)步是建立在軟件上的,因而必須培養(yǎng)更好的軟件專家。我認(rèn)為已經(jīng)到了我開始培養(yǎng)新手程序員的時(shí)候了,在我此之前我都是把精力放在專家上。我基本的設(shè)想是讓學(xué)生成為專家,使他們最終能夠編出可靠并且別人可以信賴的軟件,這就意味著在培養(yǎng)新手時(shí)要求更高,要將重點(diǎn)放在對(duì)程序正確性和處理錯(cuò)誤的訓(xùn)練上。既然目標(biāo)是為了制造現(xiàn)實(shí)世界中可用的軟件,我也非常重視標(biāo)準(zhǔn)庫(kù)的應(yīng)用和設(shè)計(jì)。對(duì)于C++標(biāo)準(zhǔn)庫(kù)工具的教學(xué),例如向量(vector)和字符(string)從第一周就該開始應(yīng)用,在第一個(gè)月之內(nèi)類(class)就應(yīng)該介紹,在第二個(gè)月之內(nèi)介紹圖形(graphics)和繼承性(inheritance)。這種方法和傳統(tǒng)的方法不同,那些教學(xué)方法往往花費(fèi)數(shù)周的時(shí)間來區(qū)分那些令人迷惑的C++基本類型,并且浪費(fèi)寶貴的時(shí)間來處理諸如聲明和循環(huán)上的一些迷人耳目的語(yǔ)法細(xì)節(jié)。我稱我的方法為“深度優(yōu)先法”,因?yàn)槲覀兪紫冉涛覀兊膶W(xué)生足夠的知識(shí)去做一些有用的工作,然后才在這有限的基礎(chǔ)上拓寬他們的理解能力和對(duì)工具的使用能力。

我所有的教學(xué)都是在實(shí)例的基礎(chǔ)上進(jìn)行的。我通過典型的例子來使學(xué)生理解,用親身的體會(huì)來解釋一些規(guī)則。自然地,我要求學(xué)生寫大量代碼如果你不讀也不寫大量代碼的話你就學(xué)不會(huì)編程。第一階段如下,學(xué)生必須經(jīng)過親身寫代碼,體會(huì)解題過程中出現(xiàn)的實(shí)際問題;第二個(gè)階段必須好好體會(huì)親身所犯的錯(cuò)誤,并且學(xué)會(huì)克服他們。這其中,調(diào)試、錯(cuò)誤處理,還有學(xué)會(huì)將大問題分解成小問題,從最小的組件來編程是非常重要的。

:數(shù)學(xué)和計(jì)算機(jī)科學(xué)有什么關(guān)系嗎?

Bjarne Stroustrup 兩者并沒有很強(qiáng)的直接聯(lián)系,但是有一部分編程的實(shí)質(zhì)包含在里面---象學(xué)數(shù)學(xué)一樣,編程有時(shí)也需要很嚴(yán)密的思維。自從古希臘以來,數(shù)學(xué)就被用來訓(xùn)練人們的邏輯思維,并且我覺得如果不用數(shù)學(xué)的話很難想象怎樣才能編出好程序來。當(dāng)然也有一些計(jì)算機(jī)領(lǐng)域,用到高深的數(shù)學(xué)知識(shí)。然而,這些領(lǐng)域通常是非常專業(yè)的。數(shù)學(xué),特別是數(shù)學(xué)思維是計(jì)算機(jī)的一個(gè)支柱。經(jīng)驗(yàn)主義是另一支柱,通過觀察和測(cè)量來幫助理解實(shí)際的發(fā)展,用以調(diào)整我們的系統(tǒng)和行為。兩方面我們都需要。計(jì)算機(jī)科學(xué)不是僅僅用來證明定理的,也不是僅僅用來收集數(shù)據(jù)的。為了有效地實(shí)踐計(jì)算機(jī)科學(xué)和發(fā)展高質(zhì)量軟件,更同時(shí)需要數(shù)學(xué)和經(jīng)驗(yàn)的訓(xùn)練。

問: 您以前在歐洲學(xué)習(xí)而現(xiàn)在在美國(guó)工作,您覺得歐美有什么學(xué)術(shù)傳統(tǒng)區(qū)別?怎樣才算是一種好的大學(xué)教育呢?尤其對(duì)計(jì)算機(jī)科學(xué)來說。現(xiàn)在的大學(xué)有部分學(xué)生中途退學(xué),您怎樣看待這一現(xiàn)象呢?

Bjarne Stroustrup這很難回答。歐洲和美國(guó)都幅員遼闊,而且有很多不同的學(xué)術(shù)傳統(tǒng)。真的不好總結(jié),并且在兩地都有一些非常好的大學(xué)科系,這不是很容易區(qū)別和下結(jié)論的。

很少有學(xué)生離開學(xué)校去開公司,較多的是離開學(xué)校去從事一些有較高收入的工作,但大多數(shù)人還是完成了學(xué)業(yè)。我印象中那些放棄了計(jì)算機(jī)科學(xué)學(xué)習(xí)轉(zhuǎn)而投入業(yè)界工作的是會(huì)為此感到后悔的。從長(zhǎng)期眼光來看學(xué)位對(duì)一個(gè)好工作來說是重要的,特別是學(xué)生在他們最后一年或最后幾年的學(xué)習(xí)。當(dāng)然也確實(shí)有些相反的例子,但那些人通常永遠(yuǎn)不會(huì)再?gòu)氖抡嬲募夹g(shù)工作,而轉(zhuǎn)為商業(yè)管理人員了,如果那是他們想做的,那一個(gè)學(xué)位并不是必須的。我一直認(rèn)為:一個(gè)學(xué)生如果還未獲得學(xué)位,最好不要離開學(xué)校。

問:我們經(jīng)常批評(píng)我們現(xiàn)在的C++教育不夠現(xiàn)代、不夠科學(xué),您是通過“深度優(yōu)先法”來教授學(xué)生的,您是否覺得在一個(gè)學(xué)生學(xué)習(xí)早期有些難嗎?我們?cè)撊绾巫瞿兀?

Bjarne Stroustrup這是必然的。傳統(tǒng)的教授編程的方法是不行的,學(xué)完這些課程的學(xué)生寫不出很好的代碼。說得更激進(jìn)一點(diǎn),他們甚至不知道什么是好的代碼!我的方法可以避免這種情況發(fā)生。我已在300名學(xué)生身上實(shí)驗(yàn)成功。對(duì)于程序員來說這是非常關(guān)鍵的——包括新程序員——了解基本概念和基本技能。但僅僅了解程序設(shè)計(jì)語(yǔ)言的基本構(gòu)造是不夠的。另一方面,如果沒有一種編程語(yǔ)言我們就不可能教授編程的技能和規(guī)則,因此,對(duì)一種語(yǔ)言工具充分掌握,做盡可能多的練習(xí)是必需的。

很顯然,這種教育問題不僅僅局限于C++語(yǔ)言。我的方法可以應(yīng)用于任何其他語(yǔ)言。

面向金錢、面向未來和面向?qū)ο?/span>

面向?qū)ο笫莻€(gè)有趣的問題,C++正是和面向?qū)ο笥兄浅B?lián)系的語(yǔ)言,作為一種非商業(yè)化語(yǔ)言,他已經(jīng)影響了世界范圍數(shù)十億美元的設(shè)計(jì)決策。而還有許多語(yǔ)言具有這種特點(diǎn),因而,關(guān)于各種語(yǔ)言的爭(zhēng)論喋喋不休地進(jìn)行了幾十年。

當(dāng)有人問Bjarne Stroustrup先生:有人說Java是純粹面向?qū)ο蟮模鳦#更勝一籌,而還有很多人說它們純粹是面向金錢的。以您之見呢?

Bjarne的回答非常風(fēng)趣:我喜歡“面向金錢”這個(gè)詞 :-) 還有Andrew Koenig的說法"面向大話"我也喜歡。C++可不面向這兩個(gè)東東。對(duì)這點(diǎn)我還想指出,我認(rèn)為純粹性并非什么優(yōu)點(diǎn)。C++的優(yōu)點(diǎn)恰恰在于其支持多種有效的編程風(fēng)格(多種思維模型吧,如果你一定要這么說)及其組合。最優(yōu)雅最有效也最容易維護(hù)的解決方案常常涉及到一種以上的風(fēng)格(編程模型)。如果一定要用吸引人的字眼,C++是一種多思維模型的語(yǔ)言。在軟件開發(fā)的龐大領(lǐng)域,需求千變?nèi)f化,起碼需要一種支持多種編程的設(shè)計(jì)風(fēng)格的通用語(yǔ)言,而且很可能需要一種以上呢。再說,世界之大,總?cè)莸孟潞脦追N編程語(yǔ)言吧?那種認(rèn)為一種語(yǔ)言對(duì)所有應(yīng)用和每個(gè)程序員都是最好的看法,根本就是荒謬的。

他上面的回答很好地告訴了我們面向?qū)ο蠛兔嫦蚪疱X的關(guān)系,也給我們的爭(zhēng)論劃上了圓滿的句號(hào)。

問:您對(duì)面向?qū)ο笫窃鯓永斫獾??它是不是一種好的可接受的編程思考方式?有沒有學(xué)習(xí)OO必須的有用的工具?

Bjarne StroustrupOO技術(shù)在現(xiàn)在軟件發(fā)展的扮演了非常重要的角色,但并不是唯一的方法。象泛型程序設(shè)計(jì)(generic programming),用C++ 模板是另一種方法,這些方法必須通過綜合應(yīng)用來,才能創(chuàng)造出:一流的、最可讀的、最易于維護(hù)的、最高效的程序。但沒有任何一種方法是適合所有要求的。

我主要用C++來編程。我覺得C++是一種學(xué)習(xí)和實(shí)踐OO思想很好的編程語(yǔ)言。

敢問路在何方

問: 您能對(duì)IT的將來做一下預(yù)測(cè)嗎?將來我們最有可能用什么語(yǔ)言?

Bjarne Stroustrup一個(gè)聰慧的幽默大師曾經(jīng)說過:預(yù)測(cè)是困難的,特別是對(duì)將來的預(yù)測(cè)。但是我認(rèn)為未來十年之內(nèi)我們用的東西在今天的實(shí)驗(yàn)室里是能夠看到的。另外我們將用的最主要的語(yǔ)言也是今天最主要的。我們不可能因?yàn)橐恍┬聳|西和一些更好的東西的出現(xiàn)就重組整個(gè)工業(yè)領(lǐng)域,因此在五到十年之內(nèi),我們還是用C, C++, COBOL, Fortran, Java, Perl, Python,也許還有C#,和其它許多種語(yǔ)言。沒有一種語(yǔ)言能適合所有用途,并且好的程序員都懂并且都能用好幾種語(yǔ)言。懂好多種語(yǔ)言和多種程序設(shè)計(jì)技術(shù)會(huì)使我們可以更好地編程。

對(duì)于IT我不想說太多,很顯然:我們會(huì)繼續(xù)依賴IT并且它會(huì)延伸到越來越多的領(lǐng)域。當(dāng)然,肯定會(huì)有失敗,通常是因?yàn)檫^度的濫用引起的——但是在十年以后我們受IT的影響肯定要比今天大得多。

人物印象

很幸運(yùn),通過電郵采訪的同時(shí)終于有機(jī)會(huì)和大師面對(duì)面。想象中的大師和面對(duì)面見到的有太多的意想不到,用一個(gè)詞來形容是“謙遜”。

Bjarne到杭州下了飛機(jī),便撲向美麗的西湖,同去的是他的好友STL之父Alex Stepanov先生。在未去杭州之前,Bjarne Stroustrup先生通過電郵告訴我杭州城的美;去了之后,少有的好天氣讓我們碰上了,爽;夜里在旅館見到了久違的大師,一夜之間見到兩位大師,更爽!

我對(duì)Bjarne Stroustrup先生有著特殊的感情,覺得他象位慈父,而他正和我的父親同樣的年紀(jì)。大師,慈父!接觸越多,對(duì)Bjarne Stroustrup先生的感觸越深。到了杭城,見到大師其人,這種感覺越來越濃厚,他又象海,既有熱情,又能包容。

采訪大部是通過Email進(jìn)行的,采訪的過程中對(duì)我的問題孜孜以求,給我的回答細(xì)微備至,Email的好處在此發(fā)揮到了極致,大洋這邊的我沐著陽(yáng)光,那邊的他在挑燈夜書。

唯有謝謝眾多C++程友和非C++朋友對(duì)我的支持,唯有大師再來杭城時(shí),到最好的茶館將上好的龍井泡上,親手送到大師的手中!

20041219

相關(guān)鏈接:

Bjarne先生個(gè)人網(wǎng)站:http://www.research.att.com/~bs/homepage.html,

Bjarne Stroustrup訪談中文,榮耀先生個(gè)人網(wǎng)站:http://www.royaloo.com/bjarne/bjarne.htm,

C++之父第一次中國(guó)行:http://www.china-pub.com/computers/hz/c/huifang/c++.html

第二次中國(guó)行,ICESS 2004: http://www.cs.zju.edu.cn/icess2004/

 (首發(fā)<<電腦報(bào)>>)


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C 之父給的C 學(xué)習(xí)路線圖(C 贈(zèng)書)
C++程序語(yǔ)言25年周年
C 之父Bjarne Stroustrup獲得 2017 年法拉第獎(jiǎng)
C++之父Bjarne Stroustrup訪談:掀起C++ 0x的蓋頭來
C 之父Bjarne Stroustrup:程序員在數(shù)學(xué)上付出的努力,永遠(yuǎn)也不會(huì)白費(fèi)
伯樂頭條本周熱點(diǎn):C++之父:?你需要懂的5種編程語(yǔ)言
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服