西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴(lài)的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)編程開(kāi)發(fā)VC|VC++ → C++之父認(rèn)為C++有一個(gè)弱點(diǎn)兩大陷阱

C++之父認(rèn)為C++有一個(gè)弱點(diǎn)兩大陷阱

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:本站整理時(shí)間:2010/8/13 15:40:59字體大小:A-A+

作者:佚名點(diǎn)擊:469次評(píng)論:0次標(biāo)簽: C++

ApexDC++V1.6.1 純凈安裝版
  • 類(lèi)型:網(wǎng)絡(luò)共享大。62.0M語(yǔ)言:多國(guó)語(yǔ)言[中文] 評(píng)分:5.0
  • 標(biāo)簽:
立即下載

十年以來(lái),Bjarne Stroustrup在不同的場(chǎng)合多次表示過(guò),C++最大的弱點(diǎn)就是它的教學(xué),因此,他許諾要親自寫(xiě)一本教授C++的書(shū)——不同于The C++ Programming Language那樣的、真正面向?qū)W習(xí)者的教程,來(lái)正本清源,以一種他認(rèn)為正確的方式來(lái)教C++!禖++程序設(shè)計(jì)原理與實(shí)踐》這本書(shū)就是他實(shí)現(xiàn)諾言的作品。

這本書(shū)并非零起點(diǎn),對(duì)于完全沒(méi)有編程基礎(chǔ)的人來(lái)說(shuō),恐怕并不適合。從技術(shù)點(diǎn)的組織來(lái)看,也是一如Bjarne Stroustrup一直以來(lái)的風(fēng)格,以一種娓娓道來(lái)的方式分布在書(shū)中各個(gè)地方。光看目錄,你很難知道他會(huì)在哪里講到什么技術(shù)點(diǎn)。但如果讀者有一定基礎(chǔ), 知道編程是怎么回事,然后愿意以從頭到尾細(xì)細(xì)品讀的方式來(lái)學(xué)習(xí)C++,那么這本書(shū)應(yīng)該是不錯(cuò)的選擇。但知識(shí)點(diǎn)的分散也有很大問(wèn)題,也不是所有人都有那個(gè)耐 心從頭到尾精讀,所以這本書(shū)也不能取代其他一些經(jīng)典的C++書(shū),比如可以當(dāng)字典查的C++ Primer和The C++ Standard Library,比如可以當(dāng)博客讀的Effective C++。但是有了這本書(shū)以后,學(xué)習(xí)C++的時(shí)候確實(shí)可以拿它當(dāng)主干,其他的作參考和補(bǔ)充。

為什么這么說(shuō)呢?因?yàn)镃++這個(gè)語(yǔ)言有個(gè)大陷阱,就是存在很多誘惑和可能性,很容易讓學(xué)習(xí)者早早就走到那些有趣的底層細(xì)節(jié)和奇技淫巧上,只見(jiàn)樹(shù)木 不見(jiàn)森林。比如你在一個(gè)類(lèi)的設(shè)計(jì)階段就在考慮是否要讓它的某個(gè)成員函數(shù)內(nèi)聯(lián),或者本來(lái)要設(shè)計(jì)一個(gè)類(lèi),然后動(dòng)手時(shí)成了一個(gè)模板類(lèi),重構(gòu)時(shí)變成了一個(gè)多參數(shù)模 板類(lèi),這都是疑似墜井的信號(hào)。實(shí)際上以今天C++語(yǔ)言的成熟程度來(lái)講,絕大多數(shù)情況下,程序員可以依賴(lài)高級(jí)的基礎(chǔ)設(shè)施完成工作,只在非常罕見(jiàn)的地方需要用 到高度技巧化和底層化的技術(shù)。因此,按理來(lái)說(shuō),一個(gè)C++學(xué)習(xí)者也應(yīng)該是先掌握這個(gè)語(yǔ)言的主體部分,然后才在必要的情況下進(jìn)入細(xì)節(jié)的學(xué)習(xí)。這個(gè)應(yīng)該是正 途,也是這本書(shū)采取的思路。這本書(shū)講授C++的最大特色,就是把C++當(dāng)做一個(gè)真正高級(jí)的語(yǔ)言去講,從頭至尾充分調(diào)動(dòng)了C++標(biāo)準(zhǔn)庫(kù)以及其他高級(jí)的基礎(chǔ)設(shè) 施。全書(shū)處理的非常平和,看不到技巧的炫耀和故作高深的叫賣(mài),一切看上去都挺自然的。從C++自身的發(fā)展來(lái)講,這本書(shū)的出版,標(biāo)志著C++教學(xué)度過(guò)了長(zhǎng)達(dá) 20年的青春期,進(jìn)入了成熟期。

然而,就現(xiàn)實(shí)而言,這本書(shū)恐怕是來(lái)得太晚了。且不說(shuō)C++的應(yīng)用領(lǐng)域較之十年前已經(jīng)大幅度萎縮了,即使是仍然在使用 C++的領(lǐng)域里,也早就充斥了大量的傳統(tǒng)遺留代碼。這些傳統(tǒng)的存在,強(qiáng)迫你必須按照奇技淫巧的方式來(lái)撰寫(xiě)你自己的代碼,無(wú)論你多么不情愿。所以我不認(rèn)為這 本書(shū),以及C++0X的標(biāo)準(zhǔn)能夠總體上改變C++應(yīng)用的現(xiàn)狀。悲觀點(diǎn)的說(shuō)法是,C++到死,也就是這個(gè)樣了,難以有大的改觀。但是如果有人還是以很認(rèn)真很 嚴(yán)肅的態(tài)度來(lái)學(xué)習(xí)C++,也能夠有機(jī)會(huì)在一些領(lǐng)域來(lái)做一些全新的工作,這本書(shū)應(yīng)該是可以好好讀一下的。

很多人可能覺(jué)得C++不行了,我相信在未來(lái)一段時(shí)間里,C++還有一定的用武之地。云計(jì)算興起之后,服務(wù)端的競(jìng)爭(zhēng)可能還會(huì)使得C++在某些領(lǐng)域復(fù) 興,所以C++還是可以學(xué)一學(xué)的。C++這個(gè)語(yǔ)言最好也是最差的地方,就是它萬(wàn)金油,怎么寫(xiě)都能工作,好多種風(fēng)格都支持,你用著用著總會(huì)有個(gè)好惡。比如對(duì) 我來(lái)說(shuō),C++這個(gè)語(yǔ)言最強(qiáng)的地方在于它的模板技術(shù)提供了足夠復(fù)雜的程序庫(kù)開(kāi)發(fā)機(jī)制,可以把復(fù)雜性高度集中在程序庫(kù)里。做得好的話(huà),在應(yīng)用代碼部分我連一 個(gè)for循環(huán)都不用寫(xiě),犯錯(cuò)誤的機(jī)會(huì)就少,效率還不打折扣,關(guān)鍵是看著代碼心里爽。那么它最爛的地方是面向?qū)ο蠡A(chǔ)設(shè)施,簡(jiǎn)直不入流,根本不配稱(chēng)為面向?qū)?象語(yǔ)言。從高的層面來(lái)講,C++可以寫(xiě)組件,但是想做周全了挺麻煩的,算不上好的組件語(yǔ)言。從底層來(lái)說(shuō),C++跟C差不多是完全兼容,狗急跳墻了,我可以 回去寫(xiě)C代碼。別人可能有不同的看法,不過(guò)有一點(diǎn)經(jīng)驗(yàn)的人,對(duì)于C++的長(zhǎng)長(zhǎng)短短多少都會(huì)有個(gè)感覺(jué)、有個(gè)偏愛(ài)。但是我現(xiàn)在覺(jué)得,用C++,最重要的一條, 就是心態(tài)平和,別較勁,別非要讓程序統(tǒng)一到某個(gè)你最信仰的風(fēng)格下,更不用為此花一大堆精力去攢包裝(wrapper),什么直接就用什么。你寫(xiě)程序時(shí)第一 個(gè)想到的路子,也就是你讀程序時(shí)最容易理解的路子。用始皇帝張藝謀的話(huà)說(shuō),就是手中無(wú)劍,心中也無(wú)劍,就是不殺,就是和平。以前的C++程序員們,多少都 有些殺氣,有嗔念,要走過(guò)很久才回得來(lái)。也許這本書(shū)能夠幫助后來(lái)者比較快地獲得一顆平常心?沒(méi)準(zhǔn)兒。至少我希望是這樣。
 

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門(mén)評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱(chēng):
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)