【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

“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:302848
用户头像

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

关注

评论

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

火山引擎 LAS Spark 升级:揭秘 Bucket 优化技术

字节跳动数据平台

数据库 大数据 火山引擎 企业号10月PK榜 Spark Bucket

大模型训练中CPU与GPU使用率的优化策略

百度开发者中心

训练 大模型

语音识别技术在移动设备上的应用与优化

来自四九城儿

概念回顾:负载均衡、四层负载均衡、七层负载均衡

NGINX开源社区

负载均衡 四层负载均衡 七层负载均衡

为何在中国 Navicat 远比 DBeaver 流行

Bytebase

数据库 sql DevOps navicat Dbeaver

Mac电脑专业思维导图软件 ConceptDraw MINDMAP最新激活版

胖墩儿不胖y

Mac软件 思维导图软件

Mac系统设置维护工具TinkerTool System最新激活版

mac大玩家j

系统维护 Mac软件 系统维护软件

安全攻防实战丨如何预防利用中间人攻击进行小程序刷分

华为云开发者联盟

网络安全 安全 华为云 系统安全 华为云开发者联盟

After Effects 2024 for Mac(视频特效制作软件) v24.0.1.2完整激活版

mac

苹果mac Windows软件 视频特效软件 After Effects 2024 AE2024

Topaz Video AI for Mac:视频增强和修复工具

彩云

Topaz Video AI 视频增强修复工具

1024程序员节,飞桨星河社区开发者们一起闯关升级、玩转Prompt应用赢大奖~

飞桨PaddlePaddle

飞桨 大模型 Prompt 一言插件

Khronos: 面向万亿规模时间线的性能监控引擎建设实践

阿里技术

性能监控 Khronos 时序数据管理

Vuepress 三分钟搭建一个精美的文档或博客

凌览

Vue 博客 vuepress

基于大模型训练的中文自然语言处理平台

百度开发者中心

自然语言处理 模型训练 大模型

ConceptDraw PROJECT 14 for Mac(项目管理软件)

展初云

项目管理 Mac软件

2023平台工程崭露头角,AI 带来新机遇与挑战

SEAL安全

AI 平台工程 企业号10月PK榜

VideoProc Converter 4K for mac(视频转换软件)

展初云

Mac 格式转换 Mac软件 视频格式

【万字长文】基于阿里云PAI平台搭建知识库检索增强的大模型对话系统

阿里云大数据AI技术

人工智能

「我在淘天做技术」双11背后的营销技术体系

阿里技术

营销 淘天 营销技术

语音识别技术在智能客服领域的应用与挑战

来自四九城儿

故障解析丨Clone节点导致主从故障

GreatSQL

18万奖金!开放原子开源大赛OpenCloudOS赛题征集开启

开放原子开源基金会

开源 大赛

ps插件:alpaca增效工具 v2.8.1 中文版

彩云

ps插件 Alpaca插件

大模型训练助力获取高精度CV模型

百度开发者中心

自然语言 大模型

iStatistica Pro 5 for Mac(系统活动监控工具)

展初云

Mac Mac软件

与创新者同行,Doris Summit Asia 2023 线下技术峰会圆满落幕!

SelectDB

数据库 大数据 数据分析 实时数仓 apache doris

3种方法,用Java找出两个List中的重复元素

华为云开发者联盟

Java 开发 华为云 华为云开发者联盟

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