正文

刘永丹评《 Practical Java中文版 》2005-06-11 20:55:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/xiangyu/1761.html

分享到:

《 Practical Java中文版 》
这是本书译者之一刘永丹的推荐:
-----------------------------------------------------------------------------------------------------------------------------------------
  大家好!我是刘永丹,是本书的译者之一。
目前我的手上没有Practical Java的简体版,只有繁体版。大家比较关注的一个问题,是此书与Effective Java的关系,这也是我在翻译此书经常想到的问题。我想以这两本书的读者身份就这一点谈一些自己的体会。不是为了推销此书:),只是希望在大家选书的时候提供一些参考。
从原版出版的时间来看,Practical Java早于Effective Java,可以说是Java领域中Effective风格书籍的开山之作。此书之所以没有取名Effective Java,我猜测有两个原因:一个是Peter Haggar谦虚的性格,二是尽管编排体例模仿了Effective C++,但写作的角度与Effective C++稍有不同。可以说取名Practical Java是很贴切的,这个问题我后面会再说到。后来Joshua Bloch的Effective Java也采用了Effective的编排体例,可谓英雄所见略同,并获得了Jolt大奖,名头大大盖过了Practical Java。不过买书不应完全凭借名气和奖项,还是要考虑读者本身的实际需要。下面我就简单比较一下这两本书。
预期的读者。这两本书都不是面向初学者的,而是面向中级读者。但我的体会,二者还有些许差别。Effective Java秉承了Effective C++的一贯特色,专门挖掘有深度的专题,读者最好具有较好的编程基础和经验,例如对设计模式的了解。Practical Java则侧重对程序员的实践的指导,一旦有了Java的基础,几乎就可以阅读此书了,并从中直接借鉴经验。如果说刚入门的读者经验值为1,编程专家经验值为10,那么Effective Java比较适合4、5以上经验值的读者,而3、4经验值的读者就已经可以从Practical Java享受到阅读的快乐了。
覆盖的范围。这两本书的取材确有重复,大约有一半的比例!但是(我一定会说“但是”的,对吧?:)),二者阐述的角度不同。Effective Java重在内容的深度剖析,Practical Java则在说理的浅白上下足功夫,一个“深入”,一个“潜出”,实在是难分伯仲。我有一个体会,无论我怎样在一本书上用功,在第二遍阅读时还是会发现原来遗漏的思维死角,一个有效的方法是同时阅读同一专题、不同风格的两本书,互相印证。当然,我不想引诱每个读者同时买这两本书,个人视自己的情况和喜好来定。
写作的风格。这个问题主要凭借每个人的感觉了。我认为Effective Java比较严谨,举例子也中规中矩,可以放在案头,仔细研读。Practical Java则轻松自然,书中的例子非常容易理解,即可放在床头随意阅读,也可放在计算机旁,需要时参考。Practical Java还有一个令我喜爱的特点,将代码生成的bytecode展示出来,使许多问题一目了然。
那么,说了这么多,到底该买不买Practical Java呢?我有如下建议:
1 如果你阅读过了Effective Java,并且感到轻松自如,那么不必破费了(当然买来收藏也不错:)),倘若在阅读时有一知半解之处,Practical Java或许是不错的选择。
2 如果你是刚入门的Java程序员,有过一段时间的编程经历,先考虑Practical Java,再考虑Effective Java,这样的阅读经历会顺畅一些。
3 如果你还没有Java经验,但是有较好的C++背景,首选Practical Java,因为Effective Java对你的帮助不会那么直接。(怎么说来说去都是Practical Java,显然是“托”:))
4 如果你有丰富的计算机编程经验,比较宽阔的专业知识面,Effective Java更适合你。
尽管我是本书的译者,但更多时候我只是个读者,上面的内容只是建议,仅供参考。
-----------------------------------------------------------------------------------------------------------------------------------------

阅读(5848) | 评论(2)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册