Google首席架构师谈Java的命运

发表于:2011-3-14 09:33

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:chenqiuge    来源:51Testing软件测试网采编

  我更加确信有好的API文档是很重要的。人们很少提及Javadoc对这个平台的成功所起的作用。好的API文档永远都是Java文化的一部分,也许是因为Javadoc从一开始就存在吧(译者注:所以人们低估了Javadoc的作用)。

  我一直信奉“简单就是美”这句话,现在更是如此。我不断看到更复杂的东西最终被证实是有害的,只是有的时间长点儿,有的时间短点儿。我设计的时候,会仔细看着我的“复杂度计”,一旦复杂度要到红线了,就需要重新设计了。

  偶尔我会遇到不相信这些的人们,他们会说:“Josh你太傻了,你怎么就是不明白;这才是应该做的,可惜你就是搞不懂。”我就是不信这些。我觉得事情一旦复杂起来,那么一定有什么地方错了,也许到了寻找更简单的方法的时候了。

  Tony Hoare的图灵奖获奖感言中有一句充满了大智慧的话,讲的是设计一个系统的两种方式:“一种是尽量简单,这样显然不会有什么问题;另外一种是,尽量复杂,这样没什么问题会很显然。”

  后面的内容同样饱含智慧,但是知道的人不多:“第一种方法其实更难。它需要从复杂的自然现象发现简单物理规律的那种技能、投入、洞察力,甚至是那种灵感,同时还需要你能接受你的目标受限于物理、逻辑和科技的约束,以及在目标间有冲突的时候可以妥协。委员会无法做到这些,除非已经完全来不及了。”

  Seibel:你是否想过在职业生涯中再次更换你的主要语言,还是准备退休前一直做Java?

  Bloch:我自己也不知道。我从C语言转向Java有点突然。从研究生毕业时起,到1996年,我主要使用C语言编程,然后一直使用Java直到现在。我已经预见到我可能要更换到其他语言了。但是我不知道是什么语言。也许它还不存在。我觉得产生一个新编程语言的时机已经成熟,但是同时我又觉得平台的惯性也比以前更大了。现代的平台不仅仅是一个语言和一些库,它包括很多工具,是一个虚拟机,一个庞然大物。创建一个完整的新平台的前景比以前更不乐观。

  我不知道将出现什么。但是我认为如果改变我的主要语言是对的,那么我就会这么做。我想尽力保持开放的心态。我想尝试更多的语言。我最近没时间做,但是以后还是会做的。

  Seibel:列出几个你想尝试的语言吧?

  Bloch:我想试试Scala,虽然我怀疑它是否能成为未来的新宠。我很崇敬MartinOdersky。我觉得他写的语言中有很多精妙的想法。但是我同时也认为他加入了太多复杂的东西,太学术化了,所以很难取得世界范围内的大成功。当然我还没权利去评价,因为我还没学习过。

  我还想用用Python。Scheme不是新生物,不过我也想试试。我想花几个月,跟我儿子一起过一遍《Structure and Interpretation of Computer Programs》一定很有意思。每个人都说这是一本伟大的书。我已经买了,算是开了个头。看完它需要一些时间。我想这就是我目前想学的。

  Seibel:现在很多人在讨论我们写程序的时候,如何能把未来的多核CPU的优势利用起来。Java显然是第一个内建多线程机制的主流语言。你觉得Java的逻辑在多核的世界是否仍然可用?

  Bloch:我想说得更深入一些。我认为Java是现有语言中最好的。但有趣的是,现在很流行谈Java是否即将死去。我觉得这基本上是扯淡。我认为现在最好的多线程构件就在Java里。我认为Java将迎来复兴。我不是说它是未来20年内最先进的,也不是说它是处理多核的最好方式。但是我认为从现有的东西来看,我们是足以傲视同侪的。

44/4<1234
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号