无?有- -| 回首页 | 2005年索引 | - -最怕这种批评者

“那本”J2EE书- -

                                      

“那本”J2EE书
刘天北 熊节
(原文刊登于《中华读书报》2005年2月23日号)

  翻开这本《J2EE核心模式》,你首先就会注意到软件方法论领域的两位大师GradyBooch和MartinFowler撰写的序言。在这样两份序言后面再附上一篇“译序”,这个念头本身就足够荒谬和僭越,不啻于在莎翁
之后再写一出关于丹麦王子复仇的剧本。大师们的判断是中肯而毫不含糊的:“没有这本书,就别开发EJB。”他们的担保足以确认本书在其论域中舍我其谁的地位。它就是“那本”J2EE书(THEJ2EEbook)。

  当然,对于广大中国开发者而言,我们早就已经在“没有这本书”的条件下开发了大量J2EE、乃至EJB应用系统。那些充满了波折和磨难的开发历程似乎让不少程序员产生了某种自信;在掌握了若干API细节、若干应用服务器配置诀窍、若干框架类库用法之后,他们或是公开、或是暗自地把自己当成了当之无愧的Java企业开发专家???不,这些话没有任何揶揄的意思:我们想说的其实是,本书恰恰是为以上这一类开发者写的。对于他们想成为 “Java企业开发专家”的隐秘欲望,这本《J2EE核心模式》就是最大限度的补救和成全。如果说,此前的各种教程都是在介绍J2EE开发中的“内容”要素???也就是,教给我们“做什么”???的话,本书关注的则是这里的“形式”要素,是“怎样做”才能开发出高效的、优雅的J2EE系统。读者从中学到的,将不仅仅是“J2EE技术”,而是“如何使用J2EE技术进行设计”。

  换句话说,如果你以前没有过J2EE实践,但明早将应聘一个需要“1年J2EE开发经验”的职位,本书中不包含你今晚要彻夜吞咽的那一类知识;相反,如果你,这位隐形的“Java企业开发专家”,追求的职位是“资深Java应用系统架构师”,如果你预料到未来的上司明天将问起“怎样实现访问控制”、“何时采用细粒度的接口设计”等“高阶”问题,那么恭喜你,今晚???乃至今后???你选对了补课的读物。

  作为本书第一版的忠实读者,我们(半是欣喜、半是惊讶)发现眼前的这部第二版构成了全新的阅读经验。作者们按照最新版J2EE技术规范(尤其是EJB2.1)全面修订了技术细节;根据模式社区的研究交流,作者们补入了若干模式;即使是一些不涉及技术更新的部分,论述方式、示例也完全不同于第一版;原有的PSA项目(第一版“尾声”一章)融入了其余各章的“示例代码”部分;而新增的整整一章讨论“微架构”的尾声、对WebService 等技术的关注、对各种的持久化方案(定制持久化、EJB、JDO等)的深入讨论,都体现出作者们对本书新版的持续投入。

  受益于本书有年,在此我们也想不揣冒昧地为本书的中国读者们建议一条高效的阅读路径:与第一章相比,第五章“J2EE模式概览”是读者更合理的起步点。请尤其关注其中对“分层”、“术语”和模式/策略区别的讨论,这些都是贯穿全书的重要概念!其次,应该通读第二章“表现层设计考虑和不佳实践”和第三章“业务层设计考虑和不佳实践”:即使你不打算使用任何模式,甚至,即使你根本不关心J2EE开发,只要你的工作与分布式企业应用系统有关,这两章考察的问题都是你迟早会遇到的。至于每个具体模式本身,我们则推荐读者留意其中详尽的“策略”部分和那些散布其中的“设计手记”。前者讨论了对同一个模式的多种实现方案,后者则突出介绍了特定开发领域的一些核心概念和考虑。

  一部英文技术论著在汉语中的旅行,永远是一段难以捉摸的行程。对于本书的汉语译者,“技术难度”并非挑战:全书讨论的正是译者们最为熟知的一个领域,所以我们能够负责任地说,在这个中译本里,没有任何技术细节会因为译者的无知或生疏而发生变形或曲解。这次翻译的原则和前提是对原文的彻底领会。

  事实上,译者的工作中遇到的困难主要发生在“语汇”层面。简单地说,J2EE专著的译者总要面对“翻,还是不翻”的两难处境:对象、函数的名称,UML图中的各种元素,这些内容由英语表示早就是约定俗成,即使是英语程度略低的开发者大概也都能读懂,所以,在读者能够理解的部分尽可能保留原文似乎是一种合理的做法???毕竟开发工作最终是与代码有关,而代码则肯定是要出之以“英文”的。但在另一方面,翻译的责任就在于让不谙原文的读者也能通达作品,如果译文中大量段落(不包括示例代码)都仍保留为英文或“类英文”,那么读者也就无法直观地获得原文包含的信息。反复权衡之后,在这个译本中译者的解决方式还是折衷的。工作中我们采取了以下原则:

  首先,术语尽可能采用通用文献定译,不自创译法。对于各个模式的名称、模式文档模版各部分名称、重构手法名称,我们参考了李英军等译《设计模式》、熊节等译《重构》等译作,以及IBMDe鄄veloperWorks中文网站的部分资源。

  其次,本领域的一些常见术语,如果没有定译,本书也不自我作古、强译为中文,而是保留英文原字。这一类的术语包括:applet、 servlet、bean、entitybean、sessionbean、cookie、WebService等。根据我们的观察,在日常工作中,国内的开发者已经习惯按原文使用以上术语。在一些情况下,我们也以注释形式澄清了这些术语的用法。

  第三,模式中的对象名称,往往按照代码风格命名,比如“BusinessObject”、“CustomerTO”等。如果对此完全不加翻译,那么很多充斥这类表达的段落就很难理解。我们的原则是,在每个自然段第一次出现某个这类表达方式时,用括号注明,比如 “BusinessObject(业务对象)”、“CustomerTO(客户传输对象)”等。希望这个做法能够维持易懂和简洁之间的平衡。

  第四,书中示例代码占有相当大的比重,而代码注释则是理解这些代码的关键。我们把所有代码注释译为中文。而对在视图中显示特定结果的代码(比如调试信息等),我们没有改为中文,只是在必要时对输出信息的涵义加以注解。如果读者更信赖代码原貌,还可以从本书官方网站http //www.corej2eepatterns.com/下载。

  第五,原书不包含注释。目前的所有注解都是译注。书中申义未畅处,译文中以方括号“ ”加以解释、补足,略去生涩。这与上面两条原则一样,都类似于在原作讲话时的插嘴???但翻译任务本身,似乎本就已经是一种“插嘴”了。在博学的读者看来,有时候译者或许还不如保持体面的沉默???但我们只能力图做到插嘴而不多嘴。

  原书经多人、多版修订完成,难免存在打字、排印错误。译本根据本书官方网站的最新勘误表订正,并结合参照本书第一版,另外修正了数十处错误。

  (本文为即将于2005年3月出版的《J2EE核心模式》中文版的译序,本报刊登时有删节)

- 作者: 透明 2005年02月25日, 星期五 14:08

Trackback

你可以使用这个链接引用该篇日志 http://publishblog.blogdriver.com/blog/tb.b?diaryID=551548

博客手拉手

回复

- 评论人:ubmmrwui

Thu Oct 12 04:18:24 CST 2006  作者邮箱  作者Blog

qlxwxwmebf[url=http://www.koolpages.com/kkjlehl/index.html]推广技巧[/url][url=http://www.koolpages.com/kkjlehl/26198047.htm]网站建设策划方案[/url][url=http://www.koolpages.com/kkjlehl/47348973.htm]引擎排名[/url][url=http://www.koolpages.com/kkjlehl/00157846.htm]网站推广mail[/url][url=http://www.koolpages.com/kkjlehl/95187597.htm]网站推广工具下载[/url][url=http://www.powow.com/oxvhseh/index.html]网站推广的方法[/url][url=http://www.powow.com/oxvhseh/80303016.htm]网站推广群发软件[/url][url=http://www.powow.com/oxvhseh/63576814.htm]网站排名榜[/url][url=http://www.powow.com/oxvhseh/46504715.htm]电子邮件群发[/url][url=http://www.powow.com/oxvhseh/90790388.htm]qq无限群发器[/url][url=http://www.pagerealm.com/qoitojq/index.html]如何建立网站[/url][url=http://www.pagerealm.com/qoitojq/40480876.htm]什么网站赚钱[/url][url=http://www.pagerealm.com/qoitojq/93765714.htm]qq消息群发工具[/url][url=http://www.pagerealm.com/qoitojq/13671137.htm]论坛自动发帖工具[/url][url=http://www.pagerealm.com/qoitojq/45301112.htm]进出口企业名录[/url]

- 评论人:Grace

Wed Mar 23 00:44:16 CST 2005  作者Blog

怎么csdn的编辑都喜欢称自己是“架构师” 不只你开发过几个超过百万的项目?有几个是你领导(作个真正的架构师)开发的?

- 评论人:x

Sun Feb 27 22:56:05 CST 2005  作者Blog

突然想起谁对小熊的一语评价??IT娱记,余以为然也。

- 评论人:224

Sat Feb 26 20:27:24 CST 2005  作者Blog

你好,这是我的blog
http://xiangtool.nease.net/

- 评论人:oo

Sat Feb 26 12:44:59 CST 2005  作者Blog

我关心的不是这本书.
gigix以前说过《J2EE Development without EJB》会在去年12月跟读者见面,但都已经快3月了,还是没有消息.到底怎么回事?

- 评论人:f

Sat Feb 26 10:45:05 CST 2005  作者Blog

这一期的南方周末有一文章,说中国英语教育的失败,在解放前很多高中生就能看懂英语文章,就能用英语做习题,我想做IT的首先要学会看英文书,因为很多真正的信息的了解经过传播就和以前原文有很大的区别了.现在是信息社会,信息传播很快,很多东西你只要去goog上查就可以查到了.但是作为一个受过高等教育的人如果不能用英文获得原来的知识,那的确是很.....
大家都知道这样一个笑话,一个人说,某人杀了自己的羊,最后传出去是杀了自己的娘,呵呵,虽然有时候读音相似,可是区别很大的,呵呵

- 评论人:f

Sat Feb 26 10:33:33 CST 2005  作者Blog

呵呵,作为一个仅仅只有两年工作经验的IT从业人员,还没有办法理解软件是如何制造的,你很厉害,一毕业就去做项目经理的人,项目到底如何做,你从中得到的体会有多少,你说来听听,翻译毕竟是翻译,

- 评论人:raimundox

Fri Feb 25 23:15:32 CST 2005  作者邮箱  作者Blog

第一次看到第二版的资料是在03年的java one资料中,然后阅读了电子版,05年才出中译似乎完了点,目前对于j2ee架构师而言早该熟烂于心,也属于基础知识的一部分了。

- 评论人:sun

Fri Feb 25 21:59:27 CST 2005  作者Blog

这些人就是喜欢信口开河的轻视别人,自以为自己有多么高明似的,眼高手低的家伙,真的要是觉得别人这么不如你们,倒是也拿点东西出来看看,不管水平高低与否,就不要在这里净说一些空话。

- 评论人:透明

Fri Feb 25 18:40:13 CST 2005  作者邮箱  作者Blog

说对了,我就是为了让别人买我的书。我的书好,为什么不让更多的人知道,为什么不让更多的人买?
我倒想请问这位正义的先生,请问你每天工作是为了什么?为了让别人不要买你开发的软件么?
至于那位要看成果的先生,你大可以去买我的书。我想有没有成果恐怕你还没有资格评判。

- 评论人:rwyx

Fri Feb 25 17:52:59 CST 2005  作者邮箱  作者Blog

总是觉得此君在自我炒做,也不见有什么更好的东西可以拿出来给大家看看成果

- 评论人:f

Fri Feb 25 16:45:11 CST 2005  作者Blog

又一次自我炒作,呵呵,为了让别人买你的书

评论内容: