文:@yuguo
//08年9月26日更新
终于决定为这本心目中五星的书籍写一篇评论,因为目前的普遍舆论对这本书有一些误读,这些误读可能会误导初学者。我只想尽量客观的提出自己的观点,也许这不太可能,因为我认为这本书是五星的,那么多少我会作者持有偏好。那么请花一些时间阅读本书,也许你也会喜欢上Bruce Eckle。
一.误读
误读1:本书的翻译质量不太好,最好是阅读原版。
Bruce知识渊博,诙谐幽默,原版当然有过人的地方。但是我想说,此书的翻译质量绝对非常不错,我还没有发现可能会引起误读的地方,也没有其它原版书籍译本常出现的语法错误,可以看出译者很用心。不妨做一下恶意的揣测,一些人宣称此书译版不好是以此炫耀自己的见识或者英文能力(我也有很多阅读译版书籍让人痛恨的经历,比如《洛丽塔》《现代操作系统》)。
误读2:本书不适合初学者
我不知道有人认为本书不适合初学者是不是因为本书有将近900页的可能让人沮丧的篇幅。
如果是这样,我想说这种忧虑完全是想当然,Bruce没有对读者已有的知识经验作过多的假设,他在前言里表明读者需要知道基本的程序语句(比如C里面的if和for),并且本书虽然假设读者已经熟悉C语法,还是用了单独一章讲述简单的语法,非常贴心。我读完全书之后的感觉就是他成功地由浅入深地让一个 Java新手明白了Java编程思想。当然,这得是一个用心用时的新手。
或者另一种指控是本书讲述的内容太繁多,事无巨细不适合新手。
我想说这也是想当然。想当然地假设初学者是没有耐心和时间的,就难度和章节设置的合理程度来说,本书完全适合任何肯付出时间的人。
二.面向读者
本书适合那些有简单程序编写经验的人:你已经知道程序是一些语句的集合,知道子程序/函数/宏的概念,知道像if这样的控制语句和像while这样的循环语句,等等。那么你就能顺利阅读本书。
本书篇幅教长,较一般的程序书籍深入了不少,不适合想在一个星期“速成”的人阅读。
三.阅读指南
1.多花时间阅读本书,根据本人经验,一个了解C++的读者每天阅读2小时,应该可以在2个月内读完本书。
2.下载完整的中文JDK文档到本地计算机中,并在浏览器的书签栏添加几个常用组件的链接方便随时查找。
3.顺序阅读本书,后面的例子可能会用到前面定义的包、类,或者设计模式。
4.第一遍阅读的时候,可能会有不明白的地方,在书页两侧的留白处标记上“??”以便下次看的时候明白。相信我,你会需要看很多遍,并且每次都会有“Aha”的感觉。
5.如果你觉得第1章晦涩难懂,跳过它。阅读到泛型的时候再回头看看。
四.后续学习
强烈建议sun官方的学习文档:http://java.sun.com/doc/books/tutorial
五.本书的缺憾
1.命名太合乎规范,而且用的是标准的“驼峰命名法”,有几次我跳跃式阅读的时候,发现奇怪的方法还试图查阅JDK文档,结果竟然是他自己命名的方法……
2. 图形化界面这一章,没有出现任何图片,很难让人直观地理解Swing,不过作者也说了“如果读者觉得自己必须掌握它的复杂细节,我推荐读者参考专门的 Swing书作为起点”。我推荐sun官方的uiswing教程(http://java.sun.com/docs/books/tutorial/uiswing)。
3.Bruce喜欢创建一些小程序放在net.mindview包里面,比如生成器。有时候这些程序很实用,但是有时候花费大量篇幅做一个生成器显得不太有性价比,甚至有可能造成读者的懒惰和理解上的误区(例如图形界面那一章的在一个新建的线程里面放置组件的方法,就容易让读者忽略他们已经新建了一个线程)。
《Java编程思想》阅读指南
您对该书评有什么想说的?
对“《Java编程思想》阅读指南”的回应
我就稍举两个例子证明翻译的是不是有问题,说翻译有问题的人是不是在炫耀自己的英文水平。
Java编程思想第四版中文版228页"addFirst()与add()和addLast()相同,它们都将某个元素插入到列表的尾部“,英文版441页"addFirst() inserts an element at the beginning of of the list. offer() is the same as add() and addLast(). They all add an element to the tail of a list"。
随后下一段,中文版"它重复地执行ListFeatures.java中所示的行为“,英文版“It doesn't repeat the behavior that was shown in ListFeatures.java"。
一.误读
误读1:本书的翻译质量不太好,最好是阅读原版。
Bruce知识渊博,诙谐幽默,原版当然有过人的地方。但是我想说,此书的翻译质量绝对非常不错,我还没有发现可能会引起误读的地方,也没有其它原版书籍译本常出现的语法错误,可以看出译者很用心。不妨做一下恶意的揣测,一些人宣称此书译版不好是以此炫耀自己的见识或者英文能力(我也有很多阅读译版书籍让人痛恨的经历,比如《洛丽塔》《现代操作系统》)。
============================
我想说的是,这书有些地方的翻译还是很影响阅读的(也许你所处的水平阶段不影响你的理解)。。。
当然,英文水平不好的人,此书也只能是最好的选择了。
《Thinking in Java》热门书评
-
《Java编程思想》阅读指南
223有用 8无用 Yuguo 2008-09-23
文:@yuguo//08年9月26日更新终于决定为这本心目中五星的书籍写一篇评论,因为目前的普遍舆论对这本书有一些误读,这些误读可能会误导初学者。我只想尽量客观的提出自己的观点,也许这不太可能,因为我认为这本书是五星的,那么多少我会作者持有偏好。那么请花一些时间阅读本书,也许你也会喜欢上Bruce ...
-
写给没有基础却想干JAVA的学弟学妹
72有用 0无用 BAY 2014-04-27
如题。。先分享三句话。“《Java编程思想》这本书很好,但还不适合你们现在去读,在合适的时候做合适的事,OK?”一心想速成的我并没有把教学视频中的这句小插曲放在心上,只是依稀记住了这本书。。然后快乐地学着速成JAVA。“你学这些框架,做这种项目有什么用?你知道大连软件园(外包公司居多)里有多少人写得...
-
基础?
54有用 16无用 学习机器人 2010-09-18
我it行业工作10年,这本书我读了8遍,对于那些一遍都读不下来的,一张口要8K-15K的程序员来说,你真的认为你值那么多,坑爹呢吧Update:以上是过去的一些评论,那时的认知还存在偏差,而且有些激进。其实,读书是为了超越自己,而非凌驾于某人之上,更没有资格对任何人、任何现象妄加评论。如果重新评论应...
-
不适合初学者
44有用 10无用 oya.aya 2006-04-07
很多人学习Java是从《Thinking in Java》这本书入手的,但是我认为这本书是不适合初学者的。我认为正确的使用这本书的方法应该是作为辅助的读物。《Thinking in Java》并不是在完整的介绍Java的整个体系,而是一种跳跃式的写作方法,是一种类似tips的方法来对Java很多知识...
-
初级程序员读书方法论
33有用 1无用 hossN 2011-05-13
这本书购于去年七月,八百多页。纸张大,印刷密度大,不到600页的《C++ Primer》就够厚了,这本更是让人望而生畏。我本专业并不是软件开发,属于半道出家,一提程序就头疼,去年买了这本书后就束之高阁,直到今年年初认为本来程序就烂,买了书还不读,再这么下去就是自取灭亡,于是制定了详细的读书计划,每天...
书名: Thinking in Java
作者: [美] Bruce Eckel
出版社: Prentice Hall
出版年: 2006-2-20
页数: 1150
定价: USD 74.99
装帧: Paperback
ISBN: 9780131872486