您的位置: 新闻频道 Java新闻

原创新闻 Java菜鸟画像

2008-02-12 by 见习记者 SpringArt
评论(13) 有2947人浏览
steve yegge是一位编程高手,博客也非常热门,现就职于google,他写了一篇有趣的文章:Java菜鸟画像。描写了java新手的问题,看看你有吗?Steve Yegge的Java菜鸟画像提供了一个有意思的讨论,为什么元数据(meta-data)问题已经渐渐成为很多编程和数据建模方面的最大的问题。

Steve Yegge开始描述了一个初学程序员在努力做正确的事情,往往过分写文档,恨不得每行代码都写文档。下一阶段,当程序员有了两年或者三年经验后,这是一个“小舞台”,因为其中程序员有50%对50%的概率,可能产生一堆废物或一群天才。这产生了一个问题,因为他们可能进入同一个项目组,菜鸟和高手在同一屋檐下,都必须能够让他们互相理解,共同工作!

这个讨论很快转移到元数据,很多被滥用的元数据证明很多java程序员是有罪的。Steve认为,元数据属性比如annotations,被菜鸟打乱了实际代码,让应用变得及其复杂,无法一目了然看清明显的执行代码。

Steve说:我认为到目前为止,最大的原因即今天C + +和Java作为优势的软件工业语言,相对非动态语言的Perl /Python/Ruby,或学术语言Modula-3/SML/Haskell,是因为C + +和Java照顾到安全和不安全的程序员。同样的,你愿意写Java代码或多或少更胜于纯C语言,正如大量经验丰富的程序员所做的,因为Java是面向对象语言。你不需要面向对象的静态类型,面向对象的诞生起始就是动态语言类似smalltalk和Lisp的专长,面向对象的重要部分就是在运行时候加载对象。但是Java被菜鸟们过多的元数据透支,你不能去书店,或者论坛,甚至公司的洗手间,因为到处充斥着菜鸟们的意见,他们对一切建模,建模成瘾!

Steve提出了一些建议:

1。让代码自己说话,不要对一切建模

2。当有疑问是否建模的时候,那么就不要建模,写一个接口,看是否可以从一个模型导出

3。在任何必要的地方,为公用API建模。

就像很多和计算机相关的话题一样,Steve的观点可以总结为一句话:不要滥用你的特长。不要把所有的开发项目都看成是钉子,仅仅因为你使用最熟练的工具是锤子。

来自:theserverside.com

评论 共 13 条 发表评论

tedeyang 2008-02-19 20:34 引用
希望翻译的时候用心点,否则像我一样挑剔的人会给负分。
SpringArt 2008-02-19 13:35 引用
to tedeyang,

谢谢你写这么长的回复,翻译方面我只是一个刚开始的“菜鸟”,非常感谢你对我的指正,我会继续努努力。 
tedeyang 2008-02-18 01:00 引用
今天才看到后来的评论。
首先抱歉说得重了点,我这人有时候会满嘴跑马。:)

这篇新闻翻译的最大缺点是文辞不通,可能是SpringArt不太了解中英文的语法差异,长句翻译得很差。基本能“信”,但一点也不“达”,更不要说“雅”了。

我看了下steve的原文(后来发现自己看错了link,其实SpringArt翻译的是theserverside.com的新闻,我却以为SpringArt是直接读的blog然后做的摘要,-_-!),不知道SpringArt有没有去看,建议一读。

请允许我从批评者的角度罗列一下翻译的瑕疵:

1,“Java菜鸟画像”==>其实应该就翻译成“菜鸟肖像”。原文:Portrait of a Noob,而steve的原文讨论范围并不是局限于java。增加java字眼就违背了“信”的原则。关于n00b,steve也有风趣的说明:if u dont no wat a n00b iz, u r 1。根据steve的原文来看,SpringArt把n00b翻译成“菜鸟”是很贴切的!

2 “steve yegge是一位编程高手,博客也非常热门,现就职于google,[。]他写了一篇有趣的文章:Java菜鸟画像。[,]描写了java新手的问题,[。]看看你有吗?Steve Yegge的Java菜鸟画像提供了一个有意思的讨论,[:]为什么元数据(meta-data)问题已经渐渐成为很多编程和数据建模方面的最大的问题。 ”

这段文字的标点符号非常糟糕!写在[ ]内的标点是我的建议修改。
另外文字拖沓,这个毛病贯穿整个新闻。

3,“小舞台”==> 应该翻译成 “少年时期”或者“青春期”
steve认为程序员会经历child、teenage、vet这些stage,5-10年的程序员基本属于这个阶段。

4,“Steve Yegge开始描述了一个初学程序员在努力做正确的事情,往往过分写文档,恨不得每行代码都写文档。”原文是“Steve begins by describing how beginning programmers striving to do the right thing tend to over-document every aspect of the program, almost to the line level.”
后半句翻译得非常精彩!不过“Steve Yegge开始描述了一个初学程序员在努力做正确的事情”就有点问题了。我的翻译:“Steve开篇写到:新手程序员为了做对事往往倾向于过度文档化,以至于程序的各个方面乃至每一行都想写注释”

5,“下一阶段,当程序员有了两年或者三年经验后,这是一个“小舞台”,因为其中程序员有50%对50%的概率,可能产生一堆废物或一群天才。这产生了一个问题,因为他们可能进入同一个项目组,菜鸟和高手在同一屋檐下,都必须能够让他们互相理解,共同工作! ”
==>
而当这些程序员有了两三年经验后,他们就进入了下一个阶段:“青春期”。此时,他可能产出一堆垃圾(代码),也可能做出天才性的工作,这个概率是对半开。对一个团队而言就可能会出现问题了,因为需要组织菜鸟与高手一起工作并让他们互相理解(代码)

下面两小节还有不少问题,也有翻译得出彩的地方。太晚了,撑不住,睡觉去...
lyxh_2003 2008-02-14 16:18 引用
是啊,学习中
ningbe 2008-02-14 09:31 引用
引用
不要滥用你的特长。不要把所有的开发项目都看成是钉子,仅仅因为你使用最熟练的工具是锤子

这句话说的真好!
julycn 2008-02-13 22:30 引用
寿命会短的,不推荐给大家
linwenbin 2008-02-13 19:31 引用
是的,是篇好文章
johnnyhg 2008-02-13 18:10 引用
引用
这篇新闻证明:超级烂的翻译可以使人不小心吃到苍蝇

有本事你翻译一篇试试
sp42 2008-02-13 13:08 引用
凭良心说,翻译这样也不错啦
SpringArt 2008-02-13 12:41 引用
多谢tedeyang批评,小生已经尽力了,水平有限,能否请具体指出哪些翻译内容不好,让在下学习,谢谢。
tedeyang 2008-02-13 12:28 引用
这篇新闻证明:超级烂的翻译可以使人不小心吃到苍蝇
glamey 2008-02-13 10:16 引用
说的真的很透彻。
deluna 2008-02-13 09:21 引用
引用
不要把所有的开发项目都看成是钉子,仅仅因为你使用最熟练的工具是锤子。

这句话说得很好

发表评论

您还没有登录,请登录后发表评论