• <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>

            天行健 君子當自強而不息

            【ZT】C++之父采訪手記

            在1998年的元旦,Bjarne   Stroustrup(C++之父)接受了IEEE《計算機》雜志記者的專訪。編輯很自然的認為他會對于過去七年來使用他創(chuàng)建的語言進行面對對象設(shè)計做一個歷史性的回顧。而在這個專訪中,記者獲得了更有價值的新聞,但是最后編輯決定為了整個IT產(chǎn)業(yè),這個稿子不能發(fā)表,但是就像其它被砍掉的新聞,往往還是弄得路人皆知的。   
              
            這一篇是當時專訪的完全拷貝,沒有被編輯、刪改或者做過什么潤色處理,也沒有發(fā)布過,可能看起來不像常見的雜志文章,但這是實情。   
              
            你會發(fā)現(xiàn)真正引人入勝的地方...   ...   
              
            記者:   您在幾年前你改變了軟件設(shè)計世界的面貌,現(xiàn)在再回首往事您有什么感想?   
              
            Stroustrup:   事實上我在你到來之前的這些天里一直在考慮這件事,你還記得幾乎所有的人都在寫C程序那會兒嗎?麻煩的是這些人寫得太好了,而且那些個大學(xué)也都在努力的傳授C編程技術(shù)。的確他們是十分的成功——我要特別的指出“成功”這個詞——因為這種顯著的C程序員的培養(yǎng)效率,這就是產(chǎn)生問題的原因。   
              
            記者:   這難道是個問題嗎?   
              
            Stroustrup:   當然,你記得大家都在用Cobol語言寫程序的時候嗎?   
              
            記者:   哦,當然,當時我也一樣。   
              
            Stroustrup:   在一開始的時候,這些人簡直象半個上帝似的拿著高工資,享受著貴族一樣的待遇。   
              
            記者:   唉,那些日子多么的讓人懷念,是吧?   
              
            Stroustrup:   當然了。但是接著發(fā)生了什么?IBM覺得這樣不舒服,就投資了數(shù)百萬來培養(yǎng)程序員,直到程序員多得一毛錢就可以雇一打。   
              
            記者:   這就是為什么當時我撤出來了,工資在一年里就降到人們在說做個記者都比程序員強的地步。   
              
            Stroustrup:   對啦!那時侯相同的事情發(fā)生在了C程序員身上了。   
              
            記者:   這個我明白了,可是您要說的是……   
              
            Stroustrup:   有一天,我坐在辦公室里就在想如何能把這件事挽回一些。我想知道如果有一種特別復(fù)雜而且難以學(xué)會的語言,是否就沒有人可以又把程序員們搞到市場的泥潭里去呢?我用了從X10里了解到的東西,噢,就是X-Windows,真是一個該死的圖形系統(tǒng),只能運行在那些個SUN   3/60的機器里,哈!它具有所有我想要的特征:可笑而復(fù)雜的語法,含混的功能描述,還有偽裝的OO結(jié)構(gòu),就算是在現(xiàn)在,還是沒有人愿意用那些東西,如果你不想發(fā)瘋的話,Motif才是唯一解決方案。   
              
            記者:   你是在開玩笑嗎?   
              
            Stroustrup:   沒有,事實上還有另外的一個問題,UNIX是用C寫的,就是說任何一個C程序員都可以很容易的成為系統(tǒng)程序的開發(fā)者。還記得一個大型的主機系統(tǒng)應(yīng)用的開發(fā)者通常能掙多少錢嗎?   
              
            記者:   你肯定是知道我當時就是干這個的。   
              
            Stroustrup:   好吧,因此這個新的語言一定要通過隱藏所有的系統(tǒng)調(diào)用來和UNIX分離開來,這樣可以使那些個就只是知道DOS的人也可以活得很體面。   
              
            記者:   我不大相信您說的這個……   
              
            Stroustrup:   而且到現(xiàn)在時間也夠長的了,我相信有很多的人已經(jīng)指出了C++是對時間的浪費,我要說的是,這個過程比我想象的要長的多了。   
            記者:   那么您又是如何做到的呢?   
              
            Stroustrup:   那只是一個玩笑,我真的沒有想到人們會對那本書那么認真。任何人只要長了半個大腦也應(yīng)該明白面對對象編程是荒謬而不合邏輯的,而且效率低下。   
              
            記者:   什么?   
              
            Stroustrup:   再說代碼重用,你什么時候聽說過有公司重用他的代碼?   
              
            記者:   事實上從來沒有,但是……   
              
            Stroustrup:   那么我提醒你一下,在早期有很多的例子。哦,有一家叫Menter   Graphics的俄勒岡州公司,我認為他們應(yīng)該是感冒了,竟然在90年或者是91年把所有的代碼用C++重寫了一遍,對不起,我實在是想不起確切的時間了,我看大家應(yīng)該從這個事件中吸取教訓(xùn)。   
              
            記者:   沒有人真正的吸取了教訓(xùn)嗎?   
              
            Stroustrup:    沒有,而且還有很多公司犯同樣的錯誤,還向他們的股東解釋說那3億美圓的損失是正常的,他們就是做了這樣的事情。   
              
            記者:   真的?可是這也只能證明OO方法是能夠工作的,不是嗎?   
              
            Stroustrup:   也許吧,執(zhí)行文件是那么大,在一臺有128M內(nèi)存的HP工作站上只是裝載到內(nèi)存中就要用5分鐘時間,然后將象毛毛蟲爬樹一樣的運行。事實上我在第一個禮拜就發(fā)現(xiàn)了這個缺點,奇怪的是好象沒人在乎這個,Sun和HP好象只在乎賣出那些功能強大的各種玩意兒,而不在乎在上面跑什么程序。在AT&T的時候我編了一個“Hello   World”程序,簡直是難以置信,執(zhí)行文件有2.1M。   
              
            記者:   那么大?是啊,就是從那時候開始編譯程序產(chǎn)生大個文件的。   
              
            Stroustrup:   就是這個樣子,如果你不信的話,可以用最新版的g++試一下,你得到的東西不會小于0.5M,而且就在最近也有一些在各個國家的例子,比如在British   Telecom公司發(fā)生的災(zāi)難,但是幸運的是他們把原來的計劃廢棄了,又重新開始,他們就比Australian   Telecom公司幸運,現(xiàn)在我又聽說Siemens公司又在造“恐龍”了,他們目前是越來越擔心要用來加速執(zhí)行軟件所要使用的昂貴的高速硬件,難道你真的認為那些個多態(tài)繼承是一種樂趣嗎?   
              
            記者:   噢,但是C++的確是一種可靠的語言啊!   
              
            Stroustrup:   你是真的相信的,對吧?你有沒有真的坐下來用C++開發(fā)過項目?我來告訴你會發(fā)生什么:首先,我會加入足夠的缺陷來讓那些微不足道的模塊先執(zhí)行,讓工作超載,在工程掃尾的階段,你回發(fā)現(xiàn)幾乎所有的模塊都會有這種缺陷,這是因為人們以為就是應(yīng)該這樣做,因為在C++的教程中就是這樣寫的。在相同的模塊中執(zhí)行不同對象的相似操作意味著:有一些東西在各個模塊中是完全不相同的。當你有了互不相同的上百個這樣的模塊,就可以把他們集成在一起了。其次,我再說說所謂的數(shù)據(jù)隱藏,上帝啊,當我聽說了有的小組實現(xiàn)了什么對象協(xié)同通信,我真的是憋不住想笑!我看,OO方法中的“協(xié)同”這個詞可以把項目經(jīng)理的肋條累斷。   
              
            記者:   我不得不說這太可怕了!你還說這是用來提高程序員的工資,這太齷齪了!   
              
            Stroustrup:   齷齪?不是這樣的,任何人都有選擇的權(quán)利。我并不想讓事情發(fā)展成這樣的。不管怎么說,我基本上還是成功的。C++現(xiàn)在已經(jīng)不行了不是?而且程序員現(xiàn)在還是能掙到高工資的——特別是那些還要維護這些該死的“++”東西的程序員。你應(yīng)該明白如果你去維護一個不是由你開發(fā)的C++模塊是不可能的。   
              
            記者:   怎么會這樣的?   
              
            Stroustrup:   你糊涂了?還記得typedef嗎?   
              
            記者:   噢,當然。   
              
            Stroustrup:   知道要在頭文件里發(fā)現(xiàn)象RoofRaised這樣的變量是一個雙精度數(shù)要用多長的時間嗎?想象一下要在一個工程里所有的類定義里尋找那些typedefs   
              ...   ...   
              ...   ...   
              
            記者:   那么你為什么認定你已經(jīng)成功了呢?   
              
            Stroustrup:   還記得一般一個C程序項目要多長時間嗎?一般是6個月。這對于一個要養(yǎng)活妻子孩子的程序員是不夠的。如果是一樣的項目,但是用C++來開發(fā),會怎么樣呢?我告訴你:要一兩年才能做完!這不好嗎?就是一個小小的編程語言選擇的決定,語言程序員就不會輕易的下崗了不是? 而且那些個大學(xué)已經(jīng)很久沒有傳授C了,現(xiàn)在是對C程序員的短缺。特別是對UNIX編程熟悉的程序員。在使用了這么多年的“new”以后,而且一直以來都不用擔心返回值的問題。還有多少程序員知道使用“malloc”?事實上,大多數(shù)的C++程序員舍棄了返回值,無論什么樣的結(jié)果,甚至于返回了“-1”,其實用不著什么throw、catch、try之類的東西,至少你應(yīng)該知道產(chǎn)生了錯誤。   
              
            記者:   但是繼承的確不是可以節(jié)省很多時間的嗎?   
              
            Stroustrup:   是嗎?你注意過C項目計劃和C++的項目計劃之間的不同嗎?在進行了三次系統(tǒng)功能分解后,要確定所有的東西都可被繼承到,如果沒有那么說明還是有錯,但是有誰在C編程里聽說過內(nèi)存泄露這個說法?現(xiàn)在你可以在業(yè)界的大廠商的產(chǎn)品中發(fā)現(xiàn)了!有很多的公司不得不放棄了,并且把工程轉(zhuǎn)包出去,他們知道最后可能象篩沙子似的把內(nèi)存站用完,他們才不想遭那份罪呢!   
              
            記者:   也有一些工具來……   
              
            Stroustrup:   大多數(shù)的防內(nèi)存泄露的工具不還是用C++寫的。   
              
            記者:   我把這些東西發(fā)表了,我們可能在這個行業(yè)里無法立足了,你知道嗎?   

            Stroustrup:   我不相信,就象我所說的,現(xiàn)在C++已經(jīng)是在垂死掙扎了。任何公司只要清醒,就會認識到用C++來做項目簡直是一場災(zāi)難。如果還沒認識到這些,那就是活該!有一段時間我使勁的勸Dennis Ritchie用C++重寫UNIX。   
              
            記者:   啊?天哪!他是怎么說的?   
              
            Stroustrup:   我不得不承認他的洞察力,我想他和Brian在很早的時候就清楚的明白了我的意圖,但是從來沒有說出來,他說如果我愿意的話,他可以幫我用C++寫個DOS。   
              
            記者:   那么你寫了嗎?   
              
            Stroustrup:   事實上,我寫了,我完成后可以給你一個DEMO,我在機房里的一臺4個CPU的Sparc20上做的,運行得特別的快,而且只占了70M的硬盤空間。   
              
            記者:   有For PC的版本嗎?   
              
            Stroustrup:   現(xiàn)在你在開玩笑了,難道你沒見過Windows 95嗎?我認為它是我成功標志之一。
              
            記者:   我也總是在想關(guān)于Unix++,還是有人在試著搞這么個東西的。   
              
            Stroustrup:   那是因為他們還沒有看到這個采訪手跡。   
              
            記者:   對不起,不過依我看,我們恐怕不會刊發(fā)這些東西的。   
              
            Stroustrup:   但是這是個世紀故事,我只是想讓我的程序員伙伴們記住我為他們做了什么,你知道這些個日子里C++程序員可以掙多少錢嗎?   
              
            記者:   我所聽說的是一個頂尖的C++程序員一小時可以掙到70~80美圓。

            Stroustrup: 知道了吧!而且我打賭他肯定可以掙那么多!在項目中使用C++的所有特性即使是有經(jīng)驗的程序員
            也會感到困惑. 事實上有時侯我也是覺得挺難受的,雖然這個特性是為我的初衷而做的,我?guī)缀跸矚g上了這個語言。

            記者: 你的意思是說你以前是不喜歡的?

            Stroustrup: 我是恨它的!難道你不同意它是挺笨重的嗎?但是當那本書的版稅源源不斷的…… 我想你能夠明白這些。

            記者: 等一下,關(guān)于參數(shù)的定義,請您一定要回答,您是否真的改良了C的指針。

            Stroustrup: 呵,我也是總是想知道這個。一開始我認為我做了,但是有一天我和一個剛開始學(xué)習(xí) C++的程序員討論了這個問題。他說:“他從來就不知道他的變量是否被引用了,所以我還是在使用指針,那個星號總是在提醒我。”

            記者: OK,一般在這個時候我一般是說:“Thank you very much.”,但是現(xiàn)在用在這里好象還是不夠。

            Stroustrup: 答應(yīng)我一定要發(fā)表。

            記者: 好的,我會通知您的,但是我已經(jīng)知道了我的編輯會說什么了。

            Stroustrup: 誰會相信呢?你能把這盤錄音帶給我拷一個嗎?

            記者: 可以。


            posted on 2007-10-25 16:36 lovedday 閱讀(959) 評論(2)  編輯 收藏 引用 所屬分類: ▲ C++ Program

            評論

            # re: 【ZT】C++之父采訪手記 2008-09-23 21:47 Blog visiter

            is this reliable?  回復(fù)  更多評論   

            # re: 【ZT】C++之父采訪手記 2013-09-25 09:56 blackTangle

            ``````  回復(fù)  更多評論   

            公告

            導(dǎo)航

            統(tǒng)計

            常用鏈接

            隨筆分類(178)

            3D游戲編程相關(guān)鏈接

            搜索

            最新評論

            人妻无码αv中文字幕久久琪琪布 人妻无码精品久久亚瑟影视 | 亚洲国产欧洲综合997久久| 久久久国产精品| 亚洲AV乱码久久精品蜜桃| 久久国产乱子伦免费精品| 久久美女网站免费| 日本WV一本一道久久香蕉| 99久久久精品免费观看国产| 热99re久久国超精品首页| 婷婷国产天堂久久综合五月| 国产欧美久久久精品| 久久天天躁狠狠躁夜夜2020 | 久久国产免费直播| 久久精品中文字幕一区| 久久精品一区二区国产| 伊人久久精品影院| 日韩亚洲欧美久久久www综合网 | 久久AV高清无码| 日韩va亚洲va欧美va久久| 久久99国产精品一区二区| 久久国产欧美日韩精品| 国产精品热久久无码av| 久久精品夜夜夜夜夜久久| 人妻无码精品久久亚瑟影视| 久久久久亚洲AV无码专区桃色| 97久久精品无码一区二区天美| 久久精品国产99国产精品导航| 久久久久99精品成人片牛牛影视| 蜜桃麻豆www久久| 韩国免费A级毛片久久| 久久九九久精品国产免费直播| 亚洲国产成人久久综合碰| 久久久久久一区国产精品| 国产成人综合久久久久久| a级毛片无码兔费真人久久| 情人伊人久久综合亚洲| 热re99久久精品国产99热| 久久综合综合久久97色| 国产精品伊人久久伊人电影| 国产成人精品久久综合| 久久久久国产成人精品亚洲午夜|