关于《Java语言精粹》
这是一本几乎只讲Java 优点的书。作者总结了他所认为的Java 语言及其环境的诸多精良部分,包括:类型系统、异常处理、包机制、垃圾回收、Java 虚拟机、Javadoc、集合、远程方法调用和并发机制。此外,作者还从开发者的角度分析了在Java 技术周围发展起来的“开发者生态环境”。如果要把Java 技术精炼到只含有它的最佳部分,在作者看来,以上就是必须保留的部分。
作者还从历史的视角阐述了Java 中某些技术的发展历程,解释了某些问题之所以存在的原因,使人读后顿有一种“知其所以然”的通透感。通过翻译《Java语言精粹》,在重温Java 核心机制的同时,译者还了解了语言的设计者和实现者们是如何权衡、折中并维护各种不同语言的特性,从而成就这门广受欢迎的系统级通用编程语言的。相信读者 也会有同样的收获。译者认为,不管是Java 语言的学习者,还是使用Java 语言构建软件系统的开发者,以及对程序设计语言感兴趣的技术爱好者,都能从《Java语言精粹》中汲取营养。
我为什么选择翻译这《Java语言精粹》
说起《Java语言精粹》的翻译,自然要提到当时在电子工业出版社博文视点工作的周筠老师。认识周老师是好多年前的事了,但真正面对面坐下来聊天不过 是去年的事情。在那之后,周老师更成了我的良师,我常去翻翻她的新浪微博(@出版人周筠),而且常常能从中领悟不少有益的东西。有一天,看到周老师在征集新书译者,经过考虑,我很快向她表达了自己的意向,再加上周老师对我的信任, 此事便得以促成。在这一过程中,还要好好谢谢当时同在博文视点的卢鸫翔编辑,不是因为他让我多认识了一个汉字,而是因为他对我太多的信任和帮助。当然,翻 译《Java语言精粹》的另一个重要原因是翻看原书后对精彩内容的喜爱,这些前面已经提到了。还有一个原因:在我个人的技术知识结构中,编程语言的知识占 了很大一部分,而之前翻译过的几《Java语言精粹》大都与模式有关,更偏于“坐而论道”。其实我个人一直希望有机会翻译一本语言方面的书注1。
注1 : 为了节省成本和便于读者阅读,我们将原书版式进行了压缩,原书页码用“ ”表示,供读者对照阅读。《Java语言精粹》的索引(包括正文中的交叉索引)所列页码为原英文版页码。
关于勘误
翻译与阅读不同,翻译过程会注重更多的细节。译者在翻译中就发现了原文的一些小问题,对于这些小问题,译者都通过邮件得到了作者的确认,然后直接按确 认后的内容翻译的,且没有提供译注。同时,译者也在O’Reilly 网站上提交了这些勘误,说到这个,也要感谢作者Jim Waldo 先生及时的回复。
致谢
除了上面提到的几位,《Java语言精粹》在翻译和出版过程中还应感谢以下一些人。首先是《Java语言精粹》的审校人张伸(新浪微博 @loveisbug),之前我翻译《敏捷开发的艺术》和《软件开发者路线图》时,他就热心细致地帮我审校过书稿,这次作为正式的审校人,他更是细致地通 读了全稿,从中发现了不少小错误,还提出了大量的改进意见。其次要感谢群硕软件开发(上海)有限公司前高级软件工程师高远(新浪微博@狼大人),我翻译过的所有作品都有他的帮助,这《Java语言精粹》也不例外,他协助初译了《Java语言精粹》第11 章的内容。祝愿如今远赴异域的他一切都好。感谢博文视点的李利健编辑,她从整体结构和行文风格方面对译稿提出了许多意见和建议。此外,还有博文视点的丁 曼、张春雨、刘皎,以及许多不知道名字的为《Java语言精粹》的出版辛勤工作的人,这《Java语言精粹》能与读者见面,源于他们共同的努力。还有“译 言网”和“译网情深”翻译论坛上的一些并不熟悉的朋友,感谢他们帮我拆解了不少疑难杂句。最后,感谢我的家人,从爷爷、奶奶、爸爸、妈妈到我的妹妹,还有 许多师长亲朋,从小到大,走过的每一步都饱含着他们的鼓励、支持与期盼。
王江平
2011 年3 月 于上海浦东