首先介绍一下自己的职业背景,因为技术不同程度的人看同一本书得到的结论是不一样的。本人工作3年多,现在做嵌入式开发,c水平应该说还可以,c++没有系统的学习过,但基本的概念都有。在工作中,我们也只是用到了c++的部分知识,不过,这已经够用了,又有多少人能完整理解c++呢?又有多少项目会使用很多c++的知识/技能呢?而且,诚实的说,我没做好准备完整的学习c++。工作忙啊,呵呵 很幸运的在chinaunix举办的送书活动中获得这本书--《c++程序设计原理与实践》,看到不菲的定价,想到还要写书评,因此,大致翻看了一下,不觉看得入迷,毕竟大师的杰作,还是挺吸引人的。就像一部好的电影,不觉你已经看到了结尾,意犹未尽,因此,记录只言片语。
下面,就跟着我一起大致浏览一下本书吧。
从目录看开去,本书还是体现了一个教学的严谨思路:先是为什么要学习计算机科学,把关于计算机科学与现实世界的联系blabla了一番,当然,对于我们已经确定要学习这门科学的人来说,这一章可以直接翻过去,不过考虑到这可能是教学用书,因此,加上这一章也就不足为奇了。然后讲解如何学习这门科学,这是本书的重点。
在关于如何学习计算机科学的问题上,首先从一个最简单的程序入手,讲解了一些基本知识(这个基本知识稍后我会做更详细的介绍),然后作者笔锋一转,开始了图形程序的设计,我不知道其他书籍有没有类似讲解方式,不过,从图形程序的设计确实可以很好的解释c++语言的特性,或者说魅力。(这可能是BS在学校教学中学到的经验)其次,介绍了算法,介绍了STL相关,最后,拓宽视野,讲了一些比较有意思的话题,比如嵌入式开发,测试等,这些都是很有实际意义的。
下面介绍一下我读到的部分章节读后感。
基本知识章节。一个"hello world"的程序又能有多少新意呢?嘿,你还真说对了,还真不一样。BS专门用了一张来讲述“错误”,其中,印象很深刻的就是“估计”,“前置条件和后置条件”。写完程序,要估计一下结果,这我以前可没想过,BS专门使用一章来进行解释。前置条件类似于assert,后置条件,OMG,以前可听都没听过,原谅我的孤陋寡闻!卖个关子,不知道后置条件的自己查一下吧!还有很多比较有新意的东西,恕不能一一列举。
图形程序设计。拿到本书的第一眼,我就看到了这个章节,因为我也是搞图形相关的,图形程序很好的运用了面向对象的知识,同时图形程序更容易阅读和理解,因为都是看的见的东西。学习了本章节,你就掌握了面向对象的大致框架。
开拓视野。这部分知识比较杂,我就看了嵌入式部分和测试部分,讲解的不深,不过比较全面,可以作为一个参考,还是很有意义的。比如,作为程序员,如果连回归测试都不知道,是不是有点说不过去呢?虽然我们可能不是测试程序员。
通览本书后,我感觉本书的特点总结如下。
1 系统的阐述了程序设计思想。本书融合了很多软件工程的知识在里面,从思想高度给出了程序设计的原则,步骤等,主要在教育应该如何思考程序的设计。看着大师的谆谆教诲,不能不被其良苦用心所感动。真的就像有个慈祥的老师站在你面前给你讲解,而不是命令式的告诉你该怎么做。“授之以渔,而不是授以鱼”。从这点上,我们真的应该聆听一下大师的教诲。想到大部分的IT培训机构,填鸭式的讲题,害人不浅,“毁”人不倦啊!
2 紧扣实践。文章充满了各种各样生动的例子,不再是单一的玩具程序。从图形程序展开去,讲解了c++程序设计的过程。
3 知识比较丰富。以前需要专业的书籍才能学习到嵌入式和测试等方面的知识,现在,本书把相关的知识做了高屋建瓴的讲解,一个系统的讲解,这对于有志于从事相关工作的人员来说是个好的开端。
本书就像书名一样,紧扣主题,注重原理与实践,真的就像BS的一本教科书,向你娓娓道来c++程序设计的过程。本书没有奇技淫巧,没有浮夸言谈,有的只是朴素的思想,向你道出这就是一门严谨的科学,当然,大师的语言还是很风趣幽默的。
关于翻译,估计也是很多人关心的。我没有看过原版,只能说翻译的还不错,思路严谨,语言连贯,看得出译者花费了很多心血。
如果真要说本书的不足,定价是比较高,呵呵,其他技术方面,恕我道行不高,还没看出来。
总之,对于初学者,本书应该算是一本不错的比较系统的入门书籍,对于中高级技术人员,可以偶尔参考。如果需要系统的学习程序设计,也可以作为参考书。
希望没能耽误你宝贵的时间,希望对你认识本书有一定的帮助,谢谢你一直看到这里。
阅读(1508) | 评论(0) | 转发(0) |