Re: [轉錄] 簡介三本 C++ 的書

看板CompBook作者時間19年前 (2005/03/10 10:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/11 (看更多)
※ 本文轉錄自 [Programming] 看板 發信人: tinlans.bbs@whshs.cs.nccu.edu.tw (汀) 看板: programming 標 題: Re: C++書介紹 發信站: 政大狂狷年少 (2005/03/09 Wed 14:31:55) ※ 引述《weihan.bbs@bbs.math.ncu.edu.tw (天天天藍)》之銘言: > ※ 引述《ooa.bbs@bbs.ntu.edu.tw (蒙ꤠ蒙ꤠ布丁甜)》之銘言: > > C++ Primer 中譯本 > > 侯俊傑 > 這本書若是給初級者學 是害了他 > 這本書在我看來不能當教科書 僅能當成參考書 也就是如果你有 > 哪個地方不太清楚的 可以查索引 直接到相關的地方看 > 不過如果是這樣 還不如直接拿 C++ 之父所寫的書當參考書 > 這本書在我看來僅能擺在書櫃上當藏書使用 :-) 其實我覺得還好, 我是 C++ Standard 制訂出來以後 C++ Primer 出中譯本才開始學 C++, 所以我第一本 C++ 的書就是 C++ Primer, 不過我也承認當時我已經有 C 的完整基礎和一般性的 language 共通概念, 所以要看對初學者的定義是怎樣下的。 如果所謂初學者是連程式設計都沒碰過, 那無論 C++ Primer 還是 The C++ Programming Language 都不好, Essential C++ 也不好, 老實說我還沒看過什麼 C++ 的書是真正適合初學者又不會讓他誤入歧途的, 所以我的結論其實是 C++ 這個語言本身就不適合沒程式設計經驗的人學, 我當然知道這個論點很特立獨行, 但這是我翻閱數十本 C++ 書籍, 加上長期實作, 以及閱讀新手、老手撰寫的 C++ 程式碼, 所下的結論。 C++ Primer 的作者當初取 Primer 之意本身就是希望能帶人入門, 而後他因為工作需求,接觸到對他而言很陌生的 perl 時有感而發, 轉而꜠定 C++ Primer 對初學者的適用性並出一本精簡版,也就是 EC++, 但它的定位點也不像是作為「第一本程式設計書籍」而設計的, 而是「第一本 C++ 程式書籍」的角度來寫的, 這本書跟明顯在序言提出此點的 The C++ Programming Language 本質相同。 如果所謂初學者是有程式設計經驗但沒接觸 C++ 的,那麼... 我也曾經為了教 C++ 新手而特別買了一本 EC++ 來讀, 到最後我還是覺得這本講得太過精簡了, 而且 EC++ 讓新手讀뀠來的感覺其實跟重點式讀 C++ Primer 差不多, 看不懂的還是看不懂,看得懂的人大都只是懶得看 C++ Primer, 其實看 C++ Primer 還是都看得懂,只是懶而已, 這讓我發覺到其實不是 C++ Primer 不適合 C++ 新手, 而是很多 C++ 新手沒有耐性跟恆心去讀完它。 沒翻完 C++ Primer 或 The C++ Programming Language 的人, 有很多看不懂 C++ compiler 吐出來的 error message, 不清楚所謂的多載決議程序,不清楚什麼是候選函式, 也不清楚 template 引數推導程序, 寫到最後怪 C++ compiler 很爛或有 bug 的一大堆, (結果不是他想要的,不然就是來個 ambiguous 什麼的) 要不就是講一句 C++ 程式很難除錯就不碰了。 如果真的要我講哪些書該給任何形式的新手讀, 我還是會選擇 The C++ Programming Language 或 C++ Primer, 因為我認為要學一個高階語言, 對於變數(variable)如何宣告(declare)、定義(define), 資料型別(data type)的名稱和可表示範圍, 認清何謂運算式(expression),何謂敘述(statement), 運算式可由哪些運算子(operator)搭配怎樣的運算元(operand)構成, 是學一個語言的基礎認知,而這兩本都花了很大的篇幅在講, 我覺得不管是哪種初學者花時間去看它都很值得, 理想上是還要能介紹多檔編譯的環境下要怎樣規劃程式, 這是 C++ Primer 不及 The C++ Programming Language 的地方, 所以要我二選一的話,我會挑 The C++ Programming Language。 另外就是很多人蠻ꤠ怪的,不喜歡看書的前言跟序, C++ Primer 言明 Chapter 2 是新手可以跳過, 但是卻聽到一堆人說他看到 Chapter 2 就覺得這本書太難看不下去, 這點真的就是很糟糕,不依照作者的指引亂讀還怪書不好讀。 我實在不願意建議其它的書籍, 因為我看過很多書要不就是太舊要不就是亂教, 然後就會看到很多新手, 寫出會讓 C++ 爸爸看到會吐血的 code, 不然就是能讓 C++ 標準委員會的委員們公幹的 code, 我想熟 C++ 又看過各種號稱是 C++ code 的人, 應該很清楚我在說什麼... 所以我的建議是, The C++ Programming Language (Special Edition) 當課本讀, C++ Primer (3/e) 當規格書耐心讀完, 還有附註一點, C++ Primer Plus 跟 C++ Primer 是完全不同的書, 內容和編排大不相同,原作者也不同,譯者也不同, 差一個字差很多,C++ Primer Plus 不要買來讀, 比 C++ How to Program 這本更不建議看... -- Name: Tseng, Ling-hua E-mail Address: uranus@it.muds.net School: National Chung Cheng University Department: Computer Science and Information Engineering Researching: Porting GCC and Implementing VLIW instruction scheduler in GCC Homepage: https://it.muds.net/~uranus -- ╔═══╗ ┼────────────────────────╮ 狂狷 Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮ 年少 ┼╮ < IP:140.119.164.16 > ╰─╮ ╚╦═╦╝ From:218-171-149-250.dynamic.hinet.net ─╨─╨─ KGBBS 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩 ◆ Modify: 05/03/10 10:03:01 <202-39-18-142.hinet-ip.hinet.net>
文章代碼(AID): #12Bx6Y00 (CompBook)
討論串 (同標題文章)
文章代碼(AID): #12Bx6Y00 (CompBook)