推荐一本C++的入门读物
前几天去图书馆还过期了的书,顺便去科技借阅室逛了一圈。偶然从书堆中发现了一本挺旧的O'Reilly的书。通常来说,O'Reilly的计算机书质量还是相当有保障的。拿起来,竟然是一本讲C++的。当时时间紧,随便翻了翻,而且发现此书一共才200多页,正好还有借书的余额,于是就收下了。
昨晚抽空看了此书的第一章,介绍了面向对象编程(OOP)的基础理念。虽说现在讲OOP原理的书可谓遍地开花,但是这本C++: The Core Library的出彩之处在于它是假设读者有C语言的基础,完全使用纯C来模拟了OOP的四个基本特性——抽象(Abstraction)、封装(Encapsulation)、层次(Hierarchy)、多态(Polymorphism)。即使一个对OOP没有任何了解的人,只有具备一点C语言的基础,理解四个特性就很容易了。进而,读者可能会发现用传统的面向过程的C语言来“模拟”这四个特性多少有点拙劣。于是,自然而然的引入了“类”这个对C语言来说全新的概念。回避了许多同类书籍中已开始让毫无OOP经验的C语言读者摸不着头脑的不足。
其次,既然名为The Core Library,自然就是专注于语言的核心。书的指导思想也非常明确——只涉及最重要的语言特性。诚然,面向对象的每一个概念都很简单而易懂,因为面向对象的本质就是出事物的本质出发去抽象世界。但是更大的挑战不是这些孤立的概念,而是当如此繁多的特性杂合在一起的时候,怎样去判断和处理这些特性之间的相互作用——这些副作用很大程度上是造成初学者困惑的直接原因。作为一本入门书籍,选择语言中最重要的特性进行介绍无疑是明智之举。当然,针对高级读者,书中也提供了对那些高级语言特性进行介绍的旁注;当然,忽略这些旁注并不妨碍对其他部分的理解。
如果你是一个熟悉C的人,如果你还希望了解作为OOP语言的C++这个C的超集,相信这门书能给你提供概念上的指导。因为它并没有提供完整的示例,所以要熟悉C++还得参考其他的书籍。但是有了书中这些核心概念的基础,阅读其他的书籍应该会轻松许多。并且,这本不到250页的书对希望温习C++的老手来说也提供了一个快速的途径。
Labels: Computer Technology, Notes and Remarks


5 Comments:
这本书是我先发现的好不好,借的时候登记还是用我的卡登记的呢!!
10:32 PM
啥叫 opp??
啥叫“类”啥的?
啥呢?
每次都看不懂你的blog
5555~~~明天就走啦
还是Fly~~哦
4:14 AM
呵呵
术业有专攻嘛
你Blog上那些economics的东东我也不懂嘛
9:26 AM
Marvel说这本书的作者是烂人,B4这本书。我觉得写得还不错啦。
8:20 AM
老罗好强啊,看完了你写编译器的那几篇日志,挺佩服的.
5:55 AM
Post a Comment
<< Home