Programming 版 (精华区)

发信人: Scorpion (Generic<Programming>), 信区: Programming
标  题: [FAQ] C++ 书籍导读(3) - 选择书的基本原则(2)(zz)
发信站: 哈工大紫丁香 (2002年11月19日19:47:19 星期二), 站内信件

标  题: [FAQ] C++ 书籍导读(3) - 选择书的基本原则(2)
发信站: BBS 水木清华站 (Wed Oct  9 12:42:29 2002), 站内信件

[FAQ] C++ 书籍导读(3) - 选择书的基本原则(2)

文本为水木清华BBS C++ 讨论区所作。欢迎转载,转载时请保留完整的标题
和作者信息。如需修改本文请致函:exbluesea@hotmail.com。作者 exbluesea。

看编排的结构
------------

大部分 C++的书是按照前文所述的学习步骤和内容顺序进行安排的。凡是有
所不同的地方,都会构成各自不同的特色。


细心的人应该注意到,在 Bjarne Stroustrup 关于学习 C++ 就像学习一门
全新语言,不需要 C 的基础的影响下,大多数现代 C++ 的书都是按照这个精神
进行编排的,并且不止一本书号称“在第一章就介绍面向对象编程”、“尽量将
类的介绍放到更前面的章节”。

应该说这种尝试被证明是有益的,特别是尽早介绍 C++ 程序框架, 有利于
摆脱 C的固有的习惯。这种精神也是国内著者所缺乏的,他们经常是固守教授语
法的做法,按照更加传统的顺序而忽略了 C++不同部分之间的联系。

在主要的基本著作中,Bjarne Stroustrup 把面向对象编程和泛型编程组合
成了一个部分,类和模板分别介绍,突出的是如何进行抽象,是编程的思想;而
在 Lippman 的 C++ Primer 中,是以基于对象、面对对象编程为主线, 模板揉
到里面去了,更加注重面向对象这个体系。这种划分没有好坏之分,只是侧重有
所不同。

看程序样例的类型
----------------

不同的教材都会采用程序样例,但是方法有所不同。

大学教材采用连续样例的情况比较多,就是说,在下一章会提到上一章的例
子,并进行修改和发展。有些书的例子会持续好几章,乃至全书。这种书比较适
合系统阅读、连贯学习。在跳跃学习的时候就会有困难,因为经常为简单的例子
要查询前面的好几个章节。《C++语言程序设计》 ( James P.Cohoon, Jack W.
Davison: C++ Program Design (3rdEd) 就是这样的例子。

而 BS 的 The C++ Programming Language 就是采用的每章独立、乃至每样
例独立的小例子,更适合跳跃地阅读、参考,以及不同语法或用法之间的比较。

大学教程的例子一般还会更多地采用一些数据结构和算法的例子,这样做的
缺点是在阅读例子理解语法现象的同时,还必须读懂数据结构与程序的含义;优
点是锻炼程序阅读能力,并同时增长数据结构方面的知识,之后再学习 STL就会
有一定的基础。而且降低阅读速度,加强每个例子的理解对提高扎实的程度有益
处。

而普适性的一般读物,如 Lippman 的 C++ Primer就会偏向使用更简单的例
子。读者应该在其中的优劣中进行权衡。

看原著还是译著
--------------

我们随后将逐一进行介绍的书籍,翻译的质量都是上乘的。但这不排除每本
书在某些地方还可以进行推敲。为了这个,我到书店专门阅读了《C++编程思想》
第一版、第二板的译著,我认为这本书译著翻译质量差的传言是不可信的。

绝大多数国内读者阅读C++ 著作的最佳选择是阅读译著,而不是原著。有很
多人宣称原著可以更清晰和精确地理解著作的含义,这个一般是要通过放慢阅读
和理解的速度为代价。据我的经验,在清华大学的本科学生中,能够长时间大篇
幅熟练阅读英文专业原著的是极少数,即使是那些终日与英语为友并准备考 GRE
的那些人,阅读 C++教科书还是有困难的。

主张边看边提高英语能力的另当别论。除此之外,原著可以充当比较好的参
考和细节的对证。

大多数书只适合一类读者
----------------------

C++ 的书有很强的专业性,一般来说只适合具有某种基础的一类读者。特别
是初学者和有较高基础的人,不可能同样适合阅读一本书。但是这句话也是相对
的,不排除有更聪明的人以更顽强的意志和努力去阅读。一般来说,这种阅读需
要自行查找更多的其他 C++资料,而最终的学习效果要更好。

C++ 的好书数量并不多,以适合中高级读者的 BS 的 The C++ Programming
Language 和适合初中级读者的 Lippman 的 C++ Primer 为代表。基本不存在只
面向纯粹的初学者的 C++ 书籍。因为 C++ 就不是初级的东西。不要单纯以是否
适合初学者来选择书,还要看你的目标和学习的恒心、态度。如果你没有完整系
统地看过这些书,就没有必要买或者读那些“精华”、“提高”之类的东西;连
走都不行呢,就学跑步的花样。该走的步子一步也省不下来。

--

--

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 211.93.35.162]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.427毫秒