八刷 05000 册 (2004/??/??)
七刷 03000 册 (2004/??/??)
六刷 03000 册 (2004/06/11)
五刷 05000 册 (2004/03/01)
四刷 05000 册 (2003/12/01)
三刷 08000 册 (2003/04/09)
二刷 12000 册 (2002/12/25)
一刷 10000 册 (2002/09/10)
《Java 编程思想》
Thinking in Java (2e) 简体中文版
《程序员》杂志票选 2002 年读者最爱十本书 第一名

以下为简体版译序。其他资料请叁考繁体版
译序
完成
942+ 页的《深入浅出MFC》2/e(着作)和1237+ 页的《C++ Primer 3e繁体中文版》(译作)之後,我罹患了一种「厚书恐惧症」。原因是大部头书籍的写作和翻译任务异常艰巨,包括材料的选择、术语的一致、英中术语的取舍协调、长时间的工作和期待┅,凡此种种对作者(或译者)的创作力、组织力、毅力都是一种严苛的考验。然而《Thinking in Java》2e毕竟不同一般。这本书将在Java programming基础教育上起重要作用。我於是怀着戒慎恐惧(但也开心)的心情再度接下这份重任,以几近一年的时间,在王建兴先生的协助下,完成了这本1127+ 页大部头书籍的繁体中文版翻译和版面制作。
繁体版即将定稿之际,我接获机械工业出版社华章公司温总编辑的邀请,欣然同意以繁体版为基础,转制简体版,由机械社出版发行。我的许多着译作品都曾经以这种方式在中国大陆发行,因此工作流程之於我并不陌生。基於各种考量,这一次由我亲自转换术语(感谢多位朋友的协助及华章编辑群的补充),将繁体版之台湾惯用术语改为大陆惯用术语,其他行文尽量维持不动。两岸略显不同的日常用语习惯,只要是顺畅的,常带给我个人一种新鲜的喜悦,或许您也有相同的胸怀J 。至於术语的转换,千丝万缕,或有挂一漏万之憾,还请各位读者斧正。
谈谈这本书的内容。Java面向极广,不可能有一本涵盖全貌的书籍(我们也不应该有「一次买足」的心理)。就相对全貌而言,《Thinking in Java》是一本取材广泛表现优异的作品,其最大特色是:(1) 内容涵盖面广,(2) 许多主题(特别是面向对象编程技术)极为深入,广泛而又深刻的论述形成了上千页的篇幅,(3) 英文版由作者Bruce Eckel免费开放,造福很多人,也因而影响了很多人(因此你很容易找到一个可以共同讨论书中观点的朋友)。
本书的优异表现,从读者的热情回应(摘列於书前)可见一斑。乍见之下本书虽然像一本初学教本,而它也的确胜任此一角色,然而本书在不少高阶主题(例如Polymorphism, Object Serialization, Reflection, RTTI, I/O, Collections)上的深入讨论,肯定也能带给许多Java老手新的体会。
本书繁体版延用我个人喜爱的「页页对译」方式,用以和英文版达成直觉的页次对应,并轻松保留书内所有交叉叁考(cross reference)和书後完整索引。由於原书字型甚大,页数甚多,基於各种考量,我同意简体版由华章公司重新编排。华章公司编辑群将於重新编排後的版面侧边加注原书页次,如此一来便可继续保持与英文版之直觉对应,又不必劳师动众地重新调整数千条索引(那真是一件纯劳力而又容易出错的无趣工作J )。原书索引所列之数千个词条,繁简中文版皆不译,我个人认为值得保留的英文术语亦不译(第一次出现或某个频率下我会让它英中并陈)。之所以保留英文术语,我已多次为文阐述个人想法,文章都公布在侯捷网站上。
做为本书英文版的一个认真读者,我要说,我确实从这本书学习了许多深刻的见解。希望此一中文版能够协助更多人高效、精准、深刻地认识并学习Java。
为了致敬Bruce Eckel开放《Thinking in Java》2e英文版的精神,侯捷网站将开放繁体中文版前9章及4个附录,占全书篇幅1/2。简体中文版开放篇幅由华章公司决定,由华章公司统筹。
本书所有文字责任与技术责任,都在侯捷一人身上。欢迎讨论,欢迎(并感谢)斧正。所有勘误都将持续而永远地维护,并设法更正於新刷纸本。
侯捷
2002.07.15 台湾s新竹http://www.jjhou.com (
侯捷网站 繁体中文)关於本书术语,请注意:
侯捷网站提供一份计算机术语英中繁简对照(持续完善中),请叁考。
本书大部份时候将
本书将
Serialization
一词在台湾人言言殊,在大陆则一般被译为「序列化」。这个译词容易和其他意义完全不同的术语(sequence、sequential┅)混淆。我决定称其为「次第读写」,因为serialization的意义就是「将数据依某种次序写入文件」以及「以相同次序将数据从文件中读出」(当然,如果扩充解释,读写对象并非一定得是文件 ─ 写入stream或从stream读出也是可以的)。stream
一般被译为「流」。本书使用「串流」一词,因为二字词在多数情境下有较佳的阅读和口语效果。不过如果和「数据」并用成为「数据流」,那又另当别论了。大多数时候本书保留stream原词不译。请注意:
本书有两个页次系统。一个是页尾所列之
中文版页次,一个是每页侧边所特别标示之英文版页次。花费大量人力标示出来的这份英文版页次,为的是方便您叁考比对英文版内容(可於www.BruceEckel.com自由下载),或方便您与英文版读者讨论。 本书索引所列之页次,皆为英文版页次。书中若有交叉叁考,所列也是英文版页次。务请读者特别注意。