薛非《品悟C-拋棄C程序設計中的謬誤與惡習》讀后感part1
上個月,薛非兄 http://weibo.com/u/2781971343 在微博上聯系我,送我一本《品悟C-拋棄C程序設計中的謬誤與惡習》,非常感謝。十一長假這天略讀了幾段,寫一個簡短評論。
首先,這本書的目的個人感覺是針對譚浩強的《C語言設計》,但是由於出版編輯無法說得這么明確,這就造成一個問題,這本書其實要針對某本書看,但是又沒法提這本書,這種矛盾糾結導致不知真相的讀者會稍微有些迷惑目的。
書很厚實,文字也通順可讀,粗粗看了幾個小節,覺得很有體會,由於手邊沒有環境就沒試試某些問題,比如“問題11”中的詞不達意,就想驗證一下。
如果能有機會再版,有幾個建議:
- 代碼排版,這幾乎是計算機編程類書籍最大的問題,要么字體選擇讓人無法讀下去,要么排版不舒服。《品悟C》里面的字體選擇一般,排版非常不好,行距看着難受,括號、縮進沒有一定之規,很不舒服。就這一點來說不夠好。
- 作為一本糾錯的書籍,里面常常會提到C89或者C99標准,其實應該把具體頁碼或者章節也同時標注出來,因為這個工作對於作者應該就是順手而為的事情。
- 就我個人而言,不推薦也不感興趣譚浩強那本書。在這種情況下,代碼示例可以稍微選擇的更實用更傾向工程化。再次推薦兩本書,一是K&R聖經,另外是《代碼閱讀》,這兩本書中的代碼都是很具有實用性,《代碼閱讀》是從實際開源代碼中摘取,相比現在書中這些例子,更有代表性。譚浩強的代碼示例,不提也罷。
- 有些例子提出了問題,解釋了原因,但是沒有提出一個解決方案,這個有些可惜。比如說“問題1”使用VC++6練習C語言項目,關鍵點在於要把language切換成C,另外也可以建議使用codeblock或者codelite這樣的開源編輯器,但是書中在這方面着墨不多。
- 問題3中,中文引號括號的問題,非常典型非常好的一個問題。書中沒有一個比較好的方案,我的建議是選擇一個不支持中文的編輯器,或者選擇一個支持代碼高亮的程序員友好的編輯器,比如sublime text。
- 不知道實際學習和實踐中哪些問題比較典型,但是感覺某些問題實際上不算大問題,或者是說只針對某些紙面作業的代碼寫手(比如計算機考試)才是問題。這種其實應該單獨分開一個章節就好了。
總而言之,這本書算是一本很揪細節的書,不是一本系統的C語言學習。有點像《C語言深度解剖》 《C標准和實現》以及王聰 http://wangcong.org/ 要寫的一本書,對於C語言初學者而言可能會稍顯枯燥,但是如果作為譚浩強《C程序設計》的對照或者用來增加C語言編程的底氣,應付面試、考試,作為進階的學習,還是蠻有價值的。
另外,對C語言感興趣的朋友,參考我這篇吧 http://sunxiunan.com/?p=1661 “漫談C語言及如何學習C語言”