推薦書目名稱或網址
C++程序设计原理与实践
http://www.books.com.tw/products/0010651205
適合閱讀此書或網站的程度/對象
初學者
簡介
c++ 發明人為了初學 c++ 的人寫的書籍
讀後心得
( https://goo.gl/bt37ka )
孟岩《C++程序设计原理与实践》 ( http://goo.gl/KOAjjV )這篇寫的真不錯,
希望我也能寫出那樣的文字。
這是台灣繁體中文的版本, 定價 990, 不過我買的是簡體中文版本 -
C++程序设计原理与实践
。
為什麼選擇簡體中文版本呢? 不單單是因為價錢的問題。
C++ 編程規範這本書一樣有簡體/繁體中文兩個版本, 我花了 414 nt 買了這本薄薄的小
書, 而不是買 200 nt 的簡體中文版本。侯捷翻譯的版本讓我願意以較高的價錢購買 (我
甚至沒去實體書店翻過書), 也相信碁峰製作書籍的品質。
( https://goo.gl/itUrAj )
那為什麼這本我要買簡體中文版本呢? 從價錢、厚度、書的品質上我做了這樣的選擇。
我雖然讀過不少大部頭書籍, 但還是對大部頭書籍心生畏懼, 對於大部頭書籍還是能免則
免。
價錢/厚度 (比較薄) 都是簡體中文版本勝出 (108 rmb), 我實在沒空間擺那麼多大部頭
書籍了。中國的電腦書都會做得很薄, 台灣的書則會想辦法做的很厚, 書做的很厚大家都
知道為什麼, 但做得很薄我就不清楚原因了。太厚或是太薄都不是好事, 兩個極端真是令
人難以選擇。
本書的英文版出了第二版, 支援了 c++11/c++14, 所以我買的這版並沒有說明
c++11/c++14, 所以對這本有興趣的朋友可以再等一下, 書商會出新的版本 (應該吧)。
還真的出了:
C++程式設計原理與實務 第二版(Programming Principles and Practice Using C++)
( http://goo.gl/2ravR4 )
本篇介紹的是我擁有的簡體中文版本 (第一版)。
繁體中文有很多漏詞的小錯誤, 譯者胡嘉璽的翻譯也算通順, 不過有些翻譯還是有點怪怪
的就是, 不過那些漏詞的小錯誤讓我很不舒服, 上奇的品質應該不會這樣, 我有點失望,
定價 990 nt 的書應該要有 990 的嚴謹度 (其實就算是定價一元的書, 也應該要有相當
的嚴謹度), 這定價可不便宜, 不能因為書厚就定這價錢, 我是買書不是買紙。不過以整
體書籍的製作來說, 台灣的繁體中文版本還是比較好。
( https://goo.gl/nd7K3Y )簡體中文版本是友人幫我從中國亞馬遜代購回來,
2013/12/26 從中國亞馬遜訂購, 20140116 拿到, 價錢 108*5 + 75 = 615 nt
但是簡體中文版本的附錄得從這裡下載, 沒有印在書上:
http://www.hzbook.com/Books/5129.html#download ( http://goo.gl/jKpYTb )
這實在是欺負人, 怎麼不全本讓我下載就好。哦! 記得要先註冊。
Bjarne Stroustrup 不愧為大師, 不僅研究做得好, 連教學也很有一套。這本書是給初學
者看的, 但我覺得裡頭很多主題不一定只對初學者有用。
chapter 6, 7 在談如何寫一個計算機, 你認為這很簡單嗎? 雖然幾乎每個平台都會有計
算機, windows 的小計算機, linux 的 bc, 甚至連平版電腦都有計算機, 但要寫出計算
機程式並不如想像中的容易, 基本上要靠自己想出來怎麼寫是很困難的。
一開始 Bjarne 會先用很直覺的方式來引導我們寫出計算機, 慢慢的告知我們這樣會有什
麼問題, 在適當時機告知我們所謂的文法規則, 就是 compiler 課程上提到的 EBNF, 這
是 50 年來的努力, 所以我們突破不了, 也是很正常的。
它牽扯到 compiler 理論, 這個部份很難無師自通。不過 Bjarne 是搞 c++ compiler
的, 這種幼兒程度的計算機當然難不倒他, 但對一般人的我們就沒那麼簡單了, 從這題目
用了兩個章節來看就可以知道其難度。
chapter 12 ~ 16, 使用了 fltk 來介紹 GUI 程式設計, 這本書真是來得太慢, 比起聖
經 The C++ Programming Language 實在親民許多。這些主題都是比較令人有興趣的主
題, 不是只專注在 c++ 語言上。fltk 是一個跨平台的 framework, Bjarne 用它介紹了
許多 GUI 觀念, 對我來說很是受用。
chapter 22 講述一些電腦語言的歷史, 可以使人耳聰目明, 有許多大師的照片, 很珍貴
的。我幾乎就是因為這章而決定要買這本書。本章介紹了 fortran, cobol, lisp,
alogl60, pascal, ada, simula, c, c++。Dennis Ritchie 為 c 的發明人, 提過 c 是
強類型, 弱檢查的語言, 這是什麼意思? 不按照 type 定義的方式使用某個 type 是非法
的, 但是 c compiler 不會去檢查它, 厄 ... 很奇怪吧!
ACM 討論程式語言歷史的相關會議資訊 ( http://goo.gl/MCTCB )
chapter 23 提到的 regular expression 在 c++11 已經是標準程式庫的一部份了 (書上
使用的是 boost/regex.hpp), 放心的用他們吧! 這可讓 c++ 處理文字的能力提升不少。
ref:
官網 (已經更新為第二版的資訊, 希望不久我們可以看到繁體中文版,
已經有了):
http://goo.gl/GpiblA ( http://www.stroustrup.com/programming.html )
書中範例:
http://goo.gl/qlSwj ( http://www.stroustrup.com/Programming/ )
補充說明(Supplement):