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

英文版:http://book.douban.com/subject/4068100/
中文版:http://book.douban.com/subject/4875599/

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

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

本书也延续了Bjarne Stroustrup的风格:话说半句。后半句是要靠自己思考来补全的。习惯于填鸭式教育的人,常呈现轻微思考力退化,恐不能适应此书。

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

好奇,是学好编程的极重要的因素。但是,足够好奇就可以了,千万不要过于好奇。《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》。

祝此书的读者顺利!

【摘自】http://topic.csdn.net/u/20100827/09/eb951ceb-d55b-4aa8-8368-3e1cd99cd153.html

转载于:https://blog.51cto.com/hzbook/547743

学习C++的第一本书相关推荐

  1. 学习李居明老师学风水的第一本书

    最近老感觉内心不踏实,六神无主,发现要学习点什么了,选择一门自己感兴趣的科目,想了好长时间后就选择我们国家的国粹,-----风水学. 首先选择李居明老师的学风水的第一本书开始学习,因为以前对周易比较感 ...

  2. 从第一本书开始,如何成为深度学习工程师(上篇)

    在这里,小编理解的初阶选手,是具备了一定的计算机基础,但是对于深度学习理论和动手实操方面没接触过的筒子.通过系统学习后能够快速入门,并升级中阶. 如下是建议初阶少侠的修仙路径,需要走好这四步,即: 读 ...

  3. 《DBA修炼之道:数据库管理员的第一本书》——1.4节评估DBA的工作邀请

    本节书摘来自华章社区<DBA修炼之道:数据库管理员的第一本书>一书中的第1章,第1.4节评估DBA的工作邀请,作者(美)Craig S. Mullins,更多章节内容可以访问云栖社区&qu ...

  4. 《DBA修炼之道:数据库管理员的第一本书》——1.2节独特的优势

    本节书摘来自华章社区<DBA修炼之道:数据库管理员的第一本书>一书中的第1章,第1.2节独特的优势,作者(美)Craig S. Mullins,更多章节内容可以访问云栖社区"华章 ...

  5. 鸟哥的Linux私房菜(基础篇)- 鸟哥的第一本书的主要内容,以 Mandrake 9.0 为例

    鸟哥的第一本书的主要内容,以 Mandrake 9.0为例 这个部分的内容主要是来自于鸟哥第一版基础篇的内容.不过,因为年代久远,事实上与第一版的内容有点出入-因为这是在第一版与第二版之间在经过编修后 ...

  6. 2008 读第一本书

    第一本书<<Workflow Founction 本质论>>   细节上:还要学习!! Demo 审批流程管理系统V1.0---V2.0 读<<本质论>> ...

  7. 深度|神经网络和深度学习简史(第一部分):从感知机到BP算法

    导读:这是<神经网络和深度学习简史>第一部分.这一部分,我们会介绍1958年感知机神经网络的诞生,70年代人工智能寒冬以及1986年BP算法让神经网络再度流行起来. 深度学习掀起海啸 如今 ...

  8. (转)神经网络和深度学习简史(第一部分):从感知机到BP算法

    深度|神经网络和深度学习简史(第一部分):从感知机到BP算法 2016-01-23 机器之心 来自Andrey Kurenkov 作者:Andrey Kurenkov 机器之心编译出品 参与:chen ...

  9. 自学python哪本书比较好-学习 Python 用哪本书好?

    目前在线教育.Github学习资源非常丰富,但是我依然认为学习Python过程中需要至少用心去看完一本书,文末有"惊喜". 因为,很多有关Python的在线教程都是出自个人或者无良 ...

最新文章

  1. php代码实现做网络安全的功能,基于PHP关键词审计技巧?网络安全源代码审计
  2. 最全的 pip 使用指南,50% 你可能没用过。
  3. 如何修改ECShop发货单查询显示个数
  4. spring aop不执行_使用Spring AOP重试方法执行
  5. 基于display:table的CSS布局
  6. LeetCode 2039. 网络空闲的时刻(BFS)
  7. LeetCode 1847. 最近的房间(排序离线计算 + 二分查找)
  8. 我在项目中用到的vue FullCalendar的内置函数以及配置项
  9. BTREE这种Mysql默认的索引方式,具有普遍的适用性
  10. Lattice Diamond 的学习之新建工程
  11. 图解电动汽车:电动汽车工作原理
  12. 企业微信好不好,OA软件何去何从?
  13. 砸金蛋html5小游戏设计总结
  14. Java编程笔记2:初始化和清理
  15. Unicode码和ASCII码及其转换
  16. 小白学STM32——跑马灯库函数版本
  17. oracle minus 条件,Oracle minus用法详解及应用实例
  18. YOLOv5-v5.0模块流程图
  19. php编程里的push,【编程词典】php array_push()函数
  20. uCos中的邮箱和消息队列

热门文章

  1. C语言丨定积分的近似计算
  2. C++安全方向(三)3.4 使用哈希列表验证文件的完整性
  3. linux文件i节点,深入理解linux中i节点(inode)
  4. java图像膨胀_java实现的图像腐蚀、膨胀运算 | 学步园
  5. setuptools Declaring Dependencies
  6. C语言 堆内存操作
  7. python 数据结构 基础
  8. java如何设table只读_Table
  9. 场景引擎是什么意思_初识ClickHouse、大数据多场景的热捧者
  10. 输变电设备物联网节点设备无线组网协议_AIS-Link-艾森智能的工业物联网连接协议...