其实这是我发在China-pub上的一个帖子,现在放到Blog上来。 套个俗话吧:书山有路勤为径。一步步走过来,总有收获和体会~ ===================================================================================
-
《C++程序设计》钱能著,清华大学出版社 读大学的刚开始不懂C++,于是自己去书店挑了这本书。冲着清华大学那几个字去的,后来才发现作者是在浙江杭州。 优点:这本书简单易学,个人觉得整本书大致模仿了谭浩强那本《C程序设计》,交待得很有条理,适合不懂C++的人学习或者作为学校教材。 缺点:这本书定位于初学者,那么它的缺点就非常明显:对于C++高级语法块就比较粗糙或者根本不加涉及;
-
《Visual C++技术内幕》,第五版修订版,希望出版社 学完了C++,因为当时学校实验室有课题,必须马上上手Windows平台上的C++编程工作,当时网络还不怎么接触,在学校书店里挑了这本书,拿到手的感觉是非常后,非常贵(因为纸张质量非常差)。 优点:由简单到深入,里面的例子非常容易上手。涉及面非常广,COM,ATL等都有。 缺点:这本书的翻译太烂了(从这本书之后我没有再买过希望出的书),我当时买的是修订版,都非常难懂,想像一下刚出来的那个版本吧,这本书后面的章节我只是粗略看了一遍,云里雾里。
-
《C++编程思想》,第一版,机械工业出版社 也算用过VC写过程序的人,可惜对C++的高级语法部分还是一知半解,加上毕业去一家公司面试,被人家问C++的东西问得一头雾水,痛定思痛,亡羊补牢,找到这本书认真啃了一个月,一个月后终于对C++登堂入室。 优点:内容广泛,尤其许多C++高级语法,交待详细。 缺点:翻译的还是欠流利,同时,排版纸张都不是很配这本书。
-
《Windows程序设计》,北京大学出版社 写过Windows程序了,C++也掌握了,才发现Windows编程同样博大精深。有过上次买书的经验,找到这边“圣经”。 优点:无需多说了吧,圣经之所以为圣经,就因为它是圣经。 缺点:翻译的错误和印刷的小错误很多,同时,这两本书很厚,尤其是下册。
-
《深入浅出MFC》,第二版,华中科技大学出版社 啃
这段时间很辛苦,背着两块大砖头。当把砖头从头到尾翻了三遍之后,自己重新看那边翻译的很烂的《技术内幕》,觉得还是很难懂(其实是翻译的让我看不懂),自己看了MFC的代码,很头疼,我瞄上了下个目标:MFC的书。几乎所有的论坛上,很多人都说这本书非常好,可惜,我个人觉得这是我看过最华而不实的书,我这里是评价书,对于目前被举上天了的该书的作者,我不愿意评价,只是觉得也许中国是很容易产生神话的地方吧。 优点:通俗易懂,作者把一个个调用拆分了非常详细,把MFC的一些经典脉络拎出来。 缺点:内容接触面非常狭小,讲解非常罗嗦,很多时候作者花了几十页就为了讲解一个调用。我个人觉得那边几百页的书压缩一下最多一百多页;其次,太贵;再次,作者个人吹嘘我非常不惯,尤其是指出MFC的那个Bug问题。 -
《MFC Windows程序设计》,北京大学出版社 由于对上面一本书非常之失望,我急于找一本MFC方面的权威图书,这本号称MFC界的
; 就这样来了。 优点:同样通俗易懂,内容详实。涉及面非常广。同样指出MFC的Bug,这本书给我的感觉真的很有大家风范。 缺点:厚,贵;最致命的就是对MFC内部研究不透彻,尽管看完整本书你可以迅速编写MFC程序。 -
《C++程序设计语言》,机械工业出版社 又是一本超级厚的大块头,而且是16开的(以前的Windows程序设计没有这么大)。可惜这本书到现在我都没有正式的啃完一遍,事实上,把它作为词典了,遇到什么问题就拿出来查查看了。 优点:C++之父的讲解C++的作品,想差也差不了。 缺点:不适合初学者,如果对C++或者STL没有基础,看起来比较吃力,另外,又厚又贵。同时,需要注意的是有些词汇与其他书籍不同。
-
《Windows高级编程指南》,清华大学出版社 这是另外一本Windows编程界中程序员公认的圣经,Jeffery Richter这个名字也因为这本著作被认做为权威。这本书我同样反反复复的看了N遍,每一遍都有新的发现和长进,真正可谓是博大精深。这本书透彻的分析了Windows编程中的核心问题,我想,这本书绝对是每个Windows程序员必备的。这本书是第三版,第四版名字改成“Windows核心编程”了,遗憾是机械工业出版社把第四版翻译和排版都远不如第三版。 优点:知识全面。 缺点:毕竟是很早以前的作品了,很多地方还在反复强调Win16和Win32的差别。
-
《COM技术内幕》,清华大学出版社 做Windows上面的程序设计,尤其是做C++,想学得深下去,不碰到COM是不可能的,现在看起来COM好像是过时的技术,其实不然。COM的设计思路很值得借鉴,可惜我到看了<设计模式>之后才想明白这一点,在此之前,我一直都抱怨COM的难学,特别是很难调试。 优点:为入门者编写,前面几章直接指出了COM设计的基本理念,如果看完这几章都不懂的话,那我可以说没有任何一本书可以教懂你COM了。 缺点:COM的那些高级理论交待比较简单。难怪很多人都只是说这本书
-
《COM原理与应用》,清华大学出版社 既然学了COM,那么就要深学下去,这本书无疑是当时的不二之选(当时Don Box的《COM本质论》中文版还没有)。 优点:详细的讲解了COM的各方面的应用。 缺点:个人感觉不太适合初学者,而且整本书学完需要很大的耐力,因为例子比较少,尤其是最后关于ActiveX和DCOM这些主题内容的时候。
-
《人月神话》清华大学出版社 看这本书是中国程序员的通病吧,哈,做多了技术,大家都不由自主的把目光投放到软件工程上面来了,当然和这本书的宣传策略也有关系。 优点:20年来一直畅销的书,不仅在知识上,在商业上也是成功的典范。 缺点:无(个人意见是有的,但是算不上缺点)。
-
《C++ Primer》,中国电力出版社 见多了前面的大砖头,再次见到这本书也就见惯不怪了,唯一的遗憾是这本书来的太晚了点,在市场已经C++类书籍接近饱和的时候才得以出版,不过,这并不妨碍一本真正优秀的作品,无论作者(Lippman,Microsoft VC.Net的总架构师),还是译者(潘爱民,以前在北大,最近好像也加盟了Microsoft)都是国内享有不少声誉的,事实也证明这次强强联手确实构造了一本经典。 优点:真正的从入门到精通的图书,讲解非常详细。 缺点:大砖头通常背起来都比较累。另外,这本书花了不少篇幅讲解STL,对我这样MFC起家的看起来不是很习惯。
时间推移,现在早已经是Java和.Net的天下,这一两年也看了一些比较经典的Java和.Net的书籍,惭愧的是自己一直以时间仓猝为借口没有像以前一样认真研读。现在看的书已经比较少,而且大部分已经转向英文版,所以暂时不愿写出自己的意见,以下是这两年看书的列表:
- Applied Microsoft.NET Framework Programming
- Programming Microsoft .NET
- Core Java 2,6e, Volume I: Fundamentals
- Refactoring: Improving the Design of Existing Code
- 软件工程:实践者的研究方法(第5版)
- The Unified Modeling Language User Guide
- Design Patterns: Elements of Reusable Object-Oriented software
- Thinking in C++, Volume 2: Practical Programming