分类:
2008-10-15 16:32:25
对于最近有关™ 即将退出历史舞台的传言,您可能想知道在这个时候放弃使用 平台并转而使用更新的技术是否时机成熟?在作出您的判断之前,请先回顾并查看一下 Java 生态系统以及它的竞争者,看看这些传闻是否站得住脚。换而言之,了解整个Java 世界目前的现状,并客观公正地评判这个平台。
在学生时代,我们可能会想起 Thomas Malthus 所做的预言,他认为人类赖以生存并继而形成人类文明的农业体系,可能无法再承受人口数量的不断攀升,另一方面,这种情况将不可避免地造成严重的后果,通常会引起巨大的灾难或其他自然灾害。他这样写道:若对人口数量不加限制,将呈几何比例增长。而人们赖以生存的物质则以算数比例增长。与后者相比较,如果稍微 了解一下这些数字,就会意识到人口增长是多么惊人。这意味着,针对生存物质的匮乏,需要对人口增长进行严格而持久的控制。物质匮乏终究会发生在某些地方,并且必定会严重影响到大部分人类。
Thomas Malthus 在 1798 年发表了 “人口论”(参见参考资料)。从那时开始,我们一直在等待着验证有关人口增长的 “Malthusian 检验”。
编程人员,特别是使用 Java 平台和语言的人员,可能已经注意到,随着使用难度不断增加,人们的种种预测和统计暗示着他们所选择的平台即将没落。而大量候补接任者跃跃欲试:人们提名 .NET、Ruby 甚至是Python 作为 “下一代重要技术”。
这两种 “Malthusian 学说” 之间存在着惊人的相似之处。
Malthus
Malthusian 缺乏其替代环境所提供的某些特殊特性,这些特性被标榜为用户及其应用程序的 “需求”。还有一些人发表(毫无事实依据)诸如 “大企业不会再使用 Java” 等言论,从而明确地暗示,如果大企业不使用 Java,那必定是因为这种技术不值得使用。
一 些人仅仅引用了一些统计性描述,说明 Java 不再是程序员中最重视的语言,就简单的判定 Java 已经在走下坡路。其他人指出 Java
Java 语言,从更大的程度来讲,Java 平台及其生态系统,很早以前就超过了 Simon Peyton-Jones 所谓的 “生存阈值(The Threshold of Immortality)”,就像 、C、COBOL 和其他语言所经历的一样。这些工具几乎可以永远存在下去,这是因为它们将继续提供有用的功能,或者是因为重写代码的尝试可能要比继续按原样使用和维护系统付出更多的代价(有关特定语言或系统究竟属于这两个原因的哪一种,存在很多的争议,而这对于本文的目的则无关紧要)。
另一个论据让所有聪明人都放弃 Java 而转向平台 X 或语言 Y。在 2005 年的一篇 BusinessWeek文章 “Java? It's So Nineties”(参见 参考资料)中,引用了很久以前就倒闭的应用公司 NetDynamics 的前 CTO Peter Yared 的话,“Java 像恐龙一样古老”。可是,还未来得及搞清楚利益冲突和推理逻辑,这篇文章就写到 Yared 所有的公司正在尝试在LAMP(Linux?/Apache/MySQL/P-language)栈之上重新创建应用体验。
(指出 Ruby 的构想实际上早于 Java,同样还包括 Perl 和 Python,这样做有些无礼,更不要说 Linux、Apache 和 MySQL……因此这里我就不便再多做解释了)。
引用我喜欢的一部电影,“生活是痛苦的,殿下。持不同观点的人一定有所企图”。或者,为了更恰当地解释这个主题,可以这样说:“过渡到一个新的平台是痛苦 的,CTO 先生。持不同观点的人一定有所企图”。也许并不令人惊讶,对于一些已经重新定位到其他技术领域的 Java 专家来说,情况确实如此。
来看看另一个论据,它说 “Java 的顶级语言的位置已经不保,因此它的衰退必定非常悲惨,因此最好避开这场灾难”。这种论据所依据的是一个最基本的前提,即如果 Java 不再是世界上最畅销的技术,则不值得再提供该语言的支持。而这种说法若经过逻辑推理,则根本毫无道理。
统计信息很久以来一直被认为是不可靠的(如果使用不当的话),正如 Benjamin Disraeli 的巧妙解释,他说:“世界上有三种谎言:谎言,诅咒和统计”。统计信息可以用来论证最靠不住脚的论据,只需要根据论据仔细挑选所需的统计信息。注意BusinessWeek一文中使用的引用:“调查……显示 Java 的使用逐渐没落,而 LAMP 和 Microsoft? 的 .NET 技术势头强劲”。喔,听上去情况不妙。但是,请继续读下去,“根据 Evans 的秋季调查显示,在北美使用 Java 作为其首选编程语言的开发人员的比例已下降到 47.9%,而 2002 年秋为51.4%”。因此,在过去六年中,在使用Java 作为其首选编程语言的开发人员中,使用率下降了3.5 个百分点。
[1]