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

    在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》。

    祝此书的读者顺利!

 

 本书是经典程序设计思想与C++开发实践的完美结合,是C++之父回归校园后对C++编程原理和技巧的全新阐述。书中全面地介绍了程序设计基本原理,包括基本概念、设计和编程技术、语言特性以及标准库等,教你学会如何编写具有输入、输出、计算以及简单图形显示等功能的程序。此外,本书通过对C++思想和历史的讨论、对经典实例(如矩阵运算、文本处理、测试以及嵌入式系统程序设计)的展示,以及对C语言的简单描述,为你呈现了一幅程序设计的全景图。   ·C++初学者的权威指南。无论你是从事软件开发还是其他领域的工作,本书将为你打开程序开发之门。   ·中高级程序员的必备参考。通过观察程序设计大师如何处理编程中的各种问题,使你获得新的领悟和指引。   ·全面阐释C++基本概念和技术。与传统的C++教材相比,本书对基本概念和技术的介绍更为深入,为你编写实用、正确、易维护和有效的代码打下坚实的基础。   ·强调现代C++编程风格。本书从开篇就介绍现代C++程序设计技术,并揭示了大量关于如何使用C++标准库来简化程序设计原理,使你快速掌握实用编成技巧。 图书目录   出版者的话   译者序   前言   第0章 致读者   第1章 计算机、人与程序设计   第一部分 基本知识   第2章 Hello,World!   第3章 对象、类型和值   第4章 计算   第5章 错误   第6章 编写一个程序   第7章 完成一个程序   第8章 函数相关的技术细节   第9章 类相关的技术细节   第二部分 输入和输出   第10章 输入/输出流   第11章 定制输入/输出   第12章 一个显示模型   第13章 图形类   第14章 设计图形类   第15章 绘制函数图和数据图   第16章 图形用户界面   第三部分 数据结构和算法   第17章 向量和自由空间   第18章 向量和数组   第19章 向量、模板和异常   第20章 容器和迭代器   第21章 算法和映射   第四部分 拓宽视野   第22章 理念和历史   第23章 文本处理   第24章 数值计算   第25章 嵌入式系统程序设计   第26章 测试   第27章 C语言   术语表   参考书目   第五部分 附录?   附录A C++语言概要   附录B 标准库概要   附录C Visual Studio简要入门教程   附录D 安装FLTK   附录E GUI实现
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值