写点什么

“Java 不会灭亡”后续报道

  • 2013-11-11
  • 本文字数:2592 字

    阅读完需:约 9 分钟

InfoQ 中文站之前报道过,开发社区中时不时的会有唱衰Java 的言论出现,资深评论家Andrew Binstock 撰文分析了Java 的发展现状和趋势,并看好Java 的未来前景。在原文发表之后,开发社区对此展开了热烈的讨论,在各大IT 网站的评论数超过了一千条,各种观点百花齐放。我们来看看其中的主要观点和Andrew 做出的回复。

Andrew 认为 Java 的发展现状和趋势都看好,主要论据包括:

  • JavaOne 是 Java 程序员的年度大会,相比较于前两年,最近的一场大会更大、更好,参与的人也更多。Andrew 和展台的供应商交流过,他们和 Andrew 的观点是一致的(真的没有一个人例外),他们都表示今年的关注度都远高于去年,而去年的也比前年的要好。通常,当某种技术开始衰落时,我们最先在它的展会上发现征兆:供应商不想为参与人数少的展会花钱,开发者也需要把他们的旅行经费花在更有价值的事情上。于是,当一个展会冷清得像墓地时,我们就可以知道这种技术的死期到了。
  • Java 语言在不断地进步。不管是在语言水平还是 JVM 水平,Java 7 都是一个重要的版本。而预计明年 3 月问世的 Java 8,更值得我们期待。Java 9 的一些特性已经发布,并预计在 2016 年发布。与 Sun 公司之前对 Java 的管理方式不同,Oracle 公司坚持每 24-30 个月更新一次 Java 版本这一目标。Java 8 将会加入闭包(也就是 lambda 表达式)。闭包减少代码,减少需要的匿名内部类,并促进函数式编程。更好的模块性(这个将在 Java 9 中进行完善)将帮助有效管理部件,而几项用来简化语句的改进也将出现在这个版本中。
  • JVM 的生态系统很健康,这是证明 Java 没有在衰退的更有力的证据。JVM 也在随着语言版本的更新而更新。Java 7 中新加入的字节码(包括 invokedynamic),这体现了 JVM 表现的有多优秀。当 JVM 中增加了实现 Ruby、JRuby 指令的本地支持后,它的性能已经远远超越了基于 C 的 Ruby VM。而基于 C 的 Ruby VM 多年来一直是 Ruby 的参考平台。
  • 当今对用户体验的关注给 Java 带来了很大的发展机会,它的发展甚至可能比我们预期还要好。Oracle 敏锐地注意到了 Java 在小型设备中扮演的角色。据该公司描述,当今有 30 亿台手持设备在运行 Java。

对于读者的评论,Andrew 表示:“奇怪的是,很少有评论者反驳我的核心观点。也就是说,惯常的偏见说 Java 即将灭亡这种说法并没有被现实中的现象所支持”。

这些评论可以归纳为几种主要的观点。最普遍的观点是:Java 不会灭亡,但是会成为一种传统的(或者说过时的)语言。Andrew 对此给予了反驳,以他的经验来看,传统的语言主要有两个特点:首先,其代码库的增长只限于需要维护现有的代码。也就是说,新的项目基本上不会选择用传统语言来开发。第二个特点是,一些其他语言或者被广泛使用的语言会代替之前用传统语言写的软件来开发。从这个意义上来说,COBOL 符合了传统语言的定义。现在的商业应用程序已经不再使用 COBOL 编写,而是使用大量的其他语言来编写,尤其是 Java。

我不同意这种传统语言的观点,因为我没有找到真正的证据表明 Java 符合这两个标准中的任何一个。单是 Android 就能保证很多新的项目将被用 Java 来编写。同时,在企业中,我也没有看到什么语言已经取代了 Java 的位置。Spring 的流行程度也表明了 Java 在企业中仍然是一门受欢迎的语言。JavaScript 作为面向客户端开发的技术以及在 Node.js 中的技术可能最终会把 Java 在 Web 应用程序的份额中挤掉一部分。以同样的方式,Ruby on Rails 也会占据小规模站点的份额。在那些狭小的领域中,Java 可能成为那种传统的语言。但是现在断定将要发生事情的程度还为时过早,因为 Java 编写的 WEb 框架在新项目中的应用仍十分活跃。

还有一种观点认为:Java 只是看起来要灭亡了,原因在于新入门的开发者更喜欢其它编程语言。Andrew 表示认同:

我同意这是真的。软件开发正在经历新的编程语言的“黄金时代”。在过去的十五年里,D、Erlang、Lua、Ruby、Scala、Groovy、Clojure 等语言层出不穷(虽然有些语言发明的时间远在这一时期之前,但却是在这个时期变得流行起来的)。同时一大堆新的语言如 Go、Rust、CoffeeScript、R 和 Haskell 等相互竞争来引起注意。在计算机发展史上还从没有哪个时期一样有这么多种语言和技术特点的选择。如果说很多大学的计算机科学课程应用 Java 作为教学语言的话,这可以表明 Java 代表了编程语言的现状,而那些新语言则是处于真正兴趣而兴起的事物。我同意这种观点。我喜欢探索新的编程语言,但它们的存在对 Java 来说并不代表什么。如同一个 Reddit 网友说的那样“我是编程方面的新手,今年刚刚拿到我的学位,但 Java 和 C#/.NET 绝对没有要灭亡的趋势。我现在在做我的第二份工作,并且我的前两份工作都要编写 Java。”

另外一种观点则认为:桌面版的 Java 已经灭亡了。关于这个观点,Andrew 也是倾向于同意:

除了在一些提供特殊用处的领域外,Java applets 几乎彻底消失了。即使是 JavaFX,作为一个 Swing 的重要升级,我不认为它足够让 Java 在客户端界面开发领域占主要地位,尤其是在桌面应用方面。然而,Java 从来就不是桌面应用的主要成员,所以它未来在这方面的缺席并没有真正影响到它的整体健壮性。

还有不少评论者提到了 Oracle 的因素。一些人认为,Oracle 在开发者中并不是一个受欢迎的公司。它对于从 Sun 获得的技术资产的处理,尤其是开源项目的处理方式,并没有加强它在程序员之中的声誉。但现阶段 Java 在 Oracle 的羽翼下,Andrew 相信它能比 Sun 当年做出更好的推进 Java 语言的工作。

我曾在原来那篇文章中提到过这一点,此外,我非常质疑“做一个语言的发展者才是首要价值”。比如 JavaScript,它的复兴作用无需赘述。它是一个几乎每个人都抱怨的语言——而且这些年来也没有起色。然而缺乏更新并没有限制其受欢迎程度,尽管大多数开发者希望能看到它能多解决几个约束。

当然,不少评论者完全同意那篇文章的观点并且认为它说的还不够深刻。他们特别指出 Java 的生态系统中有很多高质量的工具。尤其是 IDE,还有数目庞大的库——而且很多库都是开源的,还有 Java 字节码出色的可移植性,还有很多可供开发者利用的文档和丰富的资源。可能有人会说这是长时间发展的语言都有的好处,但 Andrew 认为没有哪种其它编程语言——无论老的还是新的语言——能够拥有这些丰富的资源。

关于“Java 是否会灭亡”的讨论还在继续,InfoQ 的读者朋友对此有何看法?欢迎发表自己的观点。

2013-11-11 06:303333
用户头像

发布了 501 篇内容, 共 282.7 次阅读, 收获喜欢 64 次。

关注

评论

发布
暂无评论
发现更多内容

怎样利用海外云手机进行引流?

Ogcloud

云手机 海外云手机 云手机海外版 电商云手机 跨境云手机

天润融通新品上线:坐席知识推荐,让客服工作更轻松!

天润融通

人工智能

酷克数据出席 2024 可信数据库发展大会 存算分离架构驱动电信行业数据平台革新

酷克数据HashData

新MacBook到手时,建议你需要做的事情(二)

左诗右码

Mac

活动报名丨智源研究院与行业数据应用Workshop

智源研究院

Altair 首席技术官:数据分析和人工智能平台帮助企业创造更好、更安全、更可持续的产品

Altair RapidMiner

人工智能 算法 数据分析 altair

“卓越级”!火山引擎边缘云持续推动行业标准与生态建设,获多项权威认可

火山引擎边缘云

CDN 边缘计算 CDN加速 边缘AI 火山引擎边缘计算

StarRocks on AWS Graviton3,实现 50% 以上性价比提升

StarRocks

数据库 云计算 大数据 云服务 湖仓一体

结合LangChain实现网页数据爬取

测吧(北京)科技有限公司

测试

性能测试场景设计

测吧(北京)科技有限公司

测试

阿里发布革新的音频多模态模型 Qwen2-Audio;月之暗面回应大模型显示「9.11 大于 9.9」丨 RTE 开发者日报

声网

新MacBook到手时,建议你需要做的事情(一)

左诗右码

Mac

@所有人,2024华为ICT大赛基础软件实践训练营来了!时间有限,别错过!

轶天下事

ETL数据集成丨通过ETLCloud工具,将Oracle数据实时同步至Doris中

谷云科技RestCloud

oracle Doris 数据同步 ETL ETLCloud

在 Intellij IDEA 格式化代码时忽略部分代码

源字节1号

小程序 开源 前端 后端

如何借助Redis巧妙的管理用户签到?——Bitmap篇

左诗右码

redis'

大模型评测技术研讨会暨国际标准IEEE P3419第二次工作组会议成功召开

智源研究院

云手机解决海外社媒风控问题

Ogcloud

云手机 海外云手机 跨境云手机 云手机推荐 海外社媒运营

如何在Redis中快速推算两地之间的距离?——Geo篇

左诗右码

redis'

不一样的 RTE Open Day,对话最专业的 RTE+AGI Builders!丨AGI Playground 现场回顾

声网

国产大模型加持,科大讯飞-讯飞晓医APP当前累计下载量1200万

EVANjesse

AI 智慧医疗 科大讯飞 讯飞星火 国产大模型

如何借助Redis更高效统计UV?——Hyperloglog篇

左诗右码

redis'

CSS:弹性布局(display:flex)

不在线第一只蜗牛

CSS 前端 布局

2024年,是该掌握双拼打字的时候了!

左诗右码

时序数据库领航者厂商,KaiwuDB 再获信通院权威认可 🥂

KaiwuDB

可信数据库大会 数据库产业图谱 kaiwudb 信通院

“Java不会灭亡”后续报道_Java_崔康_InfoQ精选文章