关于《Java那么健壮,怎么会挂?》的1000条回复

jopen 10年前

        英文原文:1000 Responses to Java Is Not Dying

        译者注:Dr. Dobbs 主编 Andrew Binstock 日前发布了一篇关于 Java 的帖子《Java 那么健壮,怎么会挂?》。该帖发出后立刻成为了各大科技网站的讨论热点,并很快收到了近 1000 条回复。Andrew Binstock 似乎早就预料到了会产生这样的局面,因此在 1000 条回复产生后,他立刻又写了一篇关于网友回复的帖子,再次阐述了自己对网友的回复的一些观点。

关于《Java那么健壮,怎么会挂?》的1000条回复

        我在上周发表的专栏:“Java 这么健壮,怎么可能挂”深深地触动了很多开发人员的神经。在 Reddit,Hacker News 和 Slashdot 上,这篇文章的回复数量都超过了 1000. 让我觉得有些意外的是,其实只有很少一部分人不同意我的观点。也就是说,其实号称 Java 即将挂掉的说法在现实当中其实是不太站得住脚的。不过,即使如此,我还是要在这里列举一些大家的观点:

        Java不会挂,但是却将成为“古董语言”。这个观点可能是留言中最普 遍的一种了。“古董语言”,在我的印象中,需要具备两个特点:首先,是用这门语言所写的代码库除了需要维护之外,不会再有人去修改,也就是说,新的项目基 本上不会再考虑用“古董语言”去开发;其次,新的语言会用来代替“古董语言”,去开发那些早先由“古董语言”编写的那些种类的软件。在这样的概念 下,COBOL 就完全符合“古董语言”的这两个特性:现今的商业程序已经不再使用 COBOL 编写,转而使用其他各类语言来实现,尤其是,呃,Java.

        所以我不同意 Java 是“古董语言“这种观点,因为我根本找不到证据去证明这个观点。单单是 Android 就能够保证 Java 在很多新的移动应用开发项目中被使用。在企业开发方面,我也没发现有什么语言能够取代 Java 的地位。Spring 框架的流程程度也证明了 Java 在企业级开发领域是一门广受欢迎的语言。JavaScript 在前端开发的统治地位以及通过 Node.js 在服务器端的表现可能最终会把 Java 在 Web 应用程序的市场份额挤掉一部分,同样的道理,Ruby on Rails 同样也会占据小规模站点的市场份额。在非常狭义的领域里,Java 或许成为了“古董语言”,但是现在就要断言未来发生的事情还为时过早,在很多新项目中,基于 Java 语言编写的框架的表现还是非常活跃的。

        Java之所以看上去要挂了的样子,是因为那帮“酷小子”喜新厌旧 我 本人同意这种观点。软件开发正在经历新技术,新语言的“黄金时代”。在过去的 15 年里,Erlang,Lua, Ruby, Scala, Groovy, Clojure, 还有很多其他语言(尽管某些语言发明的时间并不“新”,但是他们成名却较晚)层出不穷,于此同时,还 有:Go,Rust,CoffeeScript,R,Haskell,等等一大堆语言争先恐后地引起人们的注意。在计算机发展的历史上,还从来没有哪一个 时期像现在这样盛产新语言和新技术。如果说 Java 作为很多大学采用的计算机科学教学语言,代表了一般编程语言的标准,那么这些新语言则代表了新兴的技术和实例,更容易吸引技术人员的眼球。我同意这样的说 法。我本人喜欢探索新语言,但是这些新语言并不能取代 Java。就像一个 Reddit 网友说的那样:“我本人在编程领域是个新手,今年刚刚拿到学位,我要说 Java 和C#/.NET 并没有‘挂掉’。我现在正在做我的第二份工作,不过我的第一份和第二份工作都用到了 Java 编写程序。”

        Java桌面应用开发挂了。在这里,我还是要说我偏向于同意这种观点。 Java applet 现在几乎已经彻底消失了,只有在相当少的领域内才会做为一些特殊的用途使用。 甚至是 JavaFX,作为 Swing 的一个重要技术升级,我也不认为它有足够的实力让 Java 占据客户端接口开发的主要地位,尤其是桌面应用方面。然而,Java 从来就不是桌面应用开发方面的主角,所以说即使是现在 Java 不擅长桌面领域的开发,也并不影响 Java 的整体表现。

        Oracle因素我必须承认 Oracle 的形象在开发者眼中并不怎么好。 Oracle 对大量从 Sun 遗留下来的技术资产(尤其是许多开源项目)的处理方式,更加巩固了程序员对公司的敌意。但是从另一个角度来看,Java 处于 Oracle 的羽翼之下,我相信一定会比当年在 Sun 的经营下更加有利,因为 Sun 只是把 Java 作为一门计算机语言来发展,而 Oracle 会做得更多更全面。我在我的上一篇文章中提到了这一点。尤其是,我非常质疑一个观点:“发展语言本身才是硬道理。” 你看 JavaScritp, 不需要我再去陈述这个语言在互联网时代的作用了吧。JavaScript 从语言特性上来说,几乎是人见人恨,而且这么多年了,也没见有什么改进。但是这门语言的不思进取完全不影响它成为互联网领域最火爆的语言,甚至很多开发人 员就是喜欢它的这些所谓的“语言限制”。

        最后……有些评论完全同意我上一篇文章的观点,并且还认为我说得不够深刻全面。他们特别指出,在 Java 生态系统中有很多高质量的工具软件;尤其是 IDE;还有数目众多的工具库,而且这些都是开源的;还有就是 Java 字节码高度的可移植性;以及很多现成的文档和资源可供开发者使用,但是我要说的是,没有哪种编程语言——无论老还是新——能够做到像 Java 一样拥有这么多的可用资源。

        前进吧,Java !

        Andrew Binstock

        Dr. Dobbs 主编

        翻译: ImportNew.com - 黄小非

        译文链接: http://www.importnew.com/6325.html

        微信号: importnew --