《C++程序设计原理与实践》书评

taodm 2010-08-27 09:50:02
http://blog.csdn.net/taodm/archive/2010/08/27/5842601.aspx

在2周内,以1目10行的速度读过了这本书。小小书评如下:

这是一本主要面向初学者的极好的教材。

在我看过的编程书籍中,这是第二本适合于完全无编程经验的初学者的入门书籍(前面一本叫《C语言解析教程》)。但是,这本书目前还没听说有配套的习题、提问解答,所以它也还不能列为完全自学书籍。

这是我见过的唯一一本不以语法为主线索的教材,它是以实践需要来逐次引入相关语法的。对于初学者,最重要的是建立自信。若以语法为主线,也许教材已经看了大半,可还没有实现过第一个完整程序,所有知识点都是完全依靠记忆的,而往往需要记的东西越多,人就越不自信。有多少人都曾经经历多,教材都看完了,可觉得自己还啥程序都不会编。

这本书极度重视编程风格的引导。建立良好的审美观是极重要的。Kent Beck有语:“I'm not a great programmer; I'm just a good programmer with great habits.”《敏捷软件开发:原则、模式与实践》的翻译者邓辉有观点:“代码质量是软件质量的最直接、最根本的体现,所谓的设计、架构如果不能最终通过高质量的代码体现出来,都等于空。如果不真正的关注代码质量,不以最终代码作为衡量设计和架构的依据,那么其他一切所谓的要提高软件质量的活动基本上都是自欺欺人。Clean code matters most。”

本书也极强调编程是一个渐进演变的过程,是一个多原则协同、冲突下进行取舍的过程。在“简单就是美”的认识下,KISS是最有指导性的原则。太多的教材是教会了语法,却没有教会编程了。

本书也延续了Bjarne Stroustrup的风格:话说半句。后半句是要靠自己思考来补全的。习惯于填鸭式教育的人,常呈现轻微思考力退化,恐不能适应此书。另:在我的极速浏览中也还发现了至少10处显见错误(应该都是排版或者翻译造成的),希望你能在读的过程中发现更多处,并且用英文版作参考来自己判断。

看书不做题,等于没看。希望你不是一位手懒的初学者。否则,你的学习之路可能会很漫长、很曲折。

好奇,是学好编程的极重要的因素。但是,足够好奇就可以了,千万不要过于好奇。《C++ Primer》之所以很多人认为不适合初学者,就是因为列出了太多的语法细节,以至于成为了一本手册,虽然这么多细节是成为中高级C++程序员的必须。而《深度探索C++对象模型》几乎就是为了填补过度好奇(及因此造成的,对未知的恐惧),而来的。不要过度陷于语法细节之中。本书则多次明确地刻意保护你不要陷入的地方,对于初学者,请一定要于此收好自己的好奇心。不需要掌握这么多的细节,我们仍然足以完成绝大部分编程,并且绝大部分编程也应该优先选择那些不需要太多语法细节的解决方案(所谓“学深用浅”)。而试图了解这么多的(不怎么用得上的)细节,会因为记不住而恐惧,而击溃自信。

对于已入门者,本书可以用来证明你真的懂了很多编程原则。记住一句老话:“再好的老师也不能教会你什么,只是证明你是否真的懂了”。就像我这样,用2周时间快速通览一下吧,你应该还是能有很多收获的。请着重关注第4、19、25章节。如果你对此书中的观点有排斥,有不认同,请自行关注一下“空杯理论”。

另外,此书中文版没有带上原书的附录,实在可惜。而,尤其既然连最重要的索引表都砍了,可称可恨!我们有太多人,受填鸭式教育太久了,竟然都不知道有“索引表”这东东。《C++ Primer》和《The C++ Programming Language》最有价值的就是书后的索引表了。我在学习阶段,为了获得《The C++ Programming Language》的中文索引表,特意买了一本中文版呢。

最后,本书只是一本入门书籍,要想成为高等级C++程序员,还有太多本书需要看呢,而总也绕不过去的书单里,会有《C++ Primer》和《The C++ Programming Language》。

祝此书的读者顺利!


...全文
1370 2 收藏 62
写回复
62 条回复
daivder 2011年11月09日
请问高手,这本书的习题答案哪里找?
回复 点赞
xxcoopjiwhu 2011年09月23日
去看下
回复 点赞
guard_of_soul 2011年07月06日
原来是位大神,我今天问的问题山炮了。。。
回复 点赞
zgjxwl 2011年03月07日
顶一下taodm
回复 点赞
fallening 2010年08月31日
jffffffffffffffffff
回复 点赞
LWBOSS 2010年08月30日
接风接分!!!!!!
回复 点赞
x642458 2010年08月30日
回复 点赞
太乙 2010年08月30日
我居然没收到书。。。。。
回复 点赞
taodm 2010年08月30日
to usbbird:
光有骨头没有肉,能行么?3本书怎么可能够。
回复 点赞
usbbird 2010年08月30日
《C++程序设计原理与实践》+《C++ Primer》+《The C++ Programming Language》=OK?
回复 点赞
yshuise 2010年08月30日
dddddddddddddddddd
回复 点赞
猫已经找不回了 2010年08月30日
顶书评
回复 点赞
dukong123 2010年08月30日
来凑热闹。。。。。。。。。。。。。
回复 点赞
justkk 2010年08月30日
佩服lz
没有深厚的技术功底,不能读的这么透彻;
没有深厚的文字功底,不能写的这么清晰。
回复 点赞
hukui161 2010年08月30日
弄本中文看下。
回复 点赞
小小控件 2010年08月30日
有空去看看去~~·
回复 点赞
harderman 2010年08月30日
jf.
回复 点赞
codesnail 2010年08月30日
lz强大。
回复 点赞
ForestDB 2010年08月30日
刚买英文版,准备当小说看。
回复 点赞
think1008 2010年08月30日
我也没有收到书。
回复 点赞
发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告