17611538698
webmaster@21cto.com

Azul CTO:Java 30 岁仍在统治企业开发

编程语言 0 176 5天前

导读:Java语言30年,功力是否减于当年?

Java 诞生三十年后,仍在继续主导企业开发,经受住了无数“杀手级”技术的考验,并随着从人工智能集成到云原生创新的现代计算趋势,而不断地向前发展。

Java (@java) / X

Java 编程语言于25日迎来了它的 30 岁生日。

在Java问世 30 年后,它仍然是企业软件开发的冠军,打破了数十年来关于其消亡的预测,继续为世界上最重要的商业应用程序提供支持。

Azul Systems联合创始人兼首席技术官Gil Tene在接受采访时被问及应用程序的长期可维护性时表示说:

“Java 在这方面拥有迄今为止最好的记录。你现在就可以雇佣员工。现在有数百万人才可以雇佣,他们具备维护 10 到 15 年前用 Java 编写的应用程序的技能。没有其他编程语言能做到这一点。”

生存炒作周期


Java 经受住了无数原本有望取代它的技术挑战。


Tene 举例说:“我记得 20 年前我就回答过这个问题,而且从那以后,我的回答方式也大体相同。你可能还记得,在 21 世纪初,LAMP  Linux  Apache   MySQL   PHP  / Perl / Python 堆栈一度被认为将统治世界,并取代 Java。”


Java“杀手”名单读起来就像是曾经炙手可热的技术坟墓。“后来,Ruby on Rails风靡全球,彻底取代了 Java,现在很难再找到Ruby 程序员来维护它了。”Tene 这样补充道。

引人注目的不仅仅是 Java 的幸存,更是它持续的增长。“Java 一点都没萎缩。它一直在不断发展,它的邻居们也在不断发展,”Tene 如此解释道。

从硬件先驱到软件创新者


Azul Systems 本身体现了 Java 的演进。该公司成立于 2002 年,最初通过构建定制硬件,采用了一种新颖的方法来提升 Java 的性能。


“我们为数据中心构建了一些有趣的硬件解决方案,这些解决方案围绕着运行 Java 应用程序,并将它们整合到我们所谓的计算设备和计算设备集群中,”Tene 回忆道。“今天,我们称之为虚拟 Java 云。”


但随着计算格局的转变,Azul 也随之调整。“2000 年代后期,随着商用硬件变得足够好,以及虚拟机管理程序、虚拟化技术以及最终的云计算技术占据主导地位,我们开始远离硬件,”他解释道。大约 15 年前,该公司转型成为他所说的“纯软件公司”。

如今,Azul 在 Java 生态系统中占据着独特的地位。“我们拥有 Java 领域最大的工程团队,”Tene 说道。“我们可能还拥有除Oracle之外,Java 领域最大的商业产品,”他补充道。该公司目前服务于各行各业的客户,专注于让 Java 运行得更快、更高效。

打破绩效障碍


Azul 的Optimizer Hub代表了Java 虚拟机(JVM) 运行方式的根本性转变。该技术不再要求每个 JVM 单独优化代码,而是允许整个 JVM 集群共享优化数据。

Tene 表示:“它允许一组 JVM 进行协调、共享经验并进行交叉优化,而不是每个 JVM 单独运行并完全处理它必须自己处理的问题。”

他说,一些“真正大型的地方”已经采用了这项技术,并将其带入拥有数万个 JVM 和“协调队列”的生产环境中。

这家公司的最新创新是上个月推出的JVM Inventory。JVM Inventory 是 Azul Intelligence Cloud 的一项新功能,它是一款 Java 发现工具和“云服务,可以持续对正在运行的 JVM 进行编目,从而缩短 Oracle Java 迁移时间,并帮助确保持续遵守 Oracle 许可证,从而防范审计”,该公司声称说。

此外,该公司基于 LLVM 框架构建的Falcon JIT 编译器,彰显了 Azul 致力于突破 Java 性能极限的承诺。Tene 声称:“Falcon JIT 编译器能够生成世界上所有 JVM 中速度最快的 Java 代码,并且领先优势显著。它比OpenJDK中的C2 编译器快 30% 到 40% 。”

从小程序到人工智能


Java 的演变历程讲述了现代计算本身的故事。Tene 表示,它最初只是“30 年前 Web 浏览器中一个有趣、古怪的小东西”,如今已成为企业计算的支柱。


他补充道,20 世纪 90 年代末,Java“闯入了企业计算领域,并在推出后的三四年内主导了企业应用领域”。


Tene 指出:“如果你回顾一下 Java 的诞生,以及它是如何迅速取代之前用于构建商业应用程序的其他语言的,我们可以说,我们还没有看到任何能够取代 Java 的东西。从 Java 出现到每个人都用 Java(新的语言)而不是 Java 来构建应用程序,大概只需要两到四年的时间,而且我们还没有看到任何这种趋势发生的迹象。”


然而,即使在新兴的人工智能领域,Java 也正在找到自己的位置。“根据我几个月前听到的统计数据,Java 目前是人工智能领域的第三大语言,Python 遥遥领先于第一,”Tene 谈到人工智能应用程序开发时说道。“我们看到,希望将人工智能融入其中的应用程序数量正在大幅增加,而 Java 应用程序的加入也将变得水到渠成。”

Java的企业级优势


Java 的持久力源于一个简单的商业现实:企业需要能够持久运行的软件。“当你尝试弄清楚要用什么来构建你的应用程序时,你应该考虑的事情之一是,五年后、十年后,你将如何维护它?你是否能够招到所需的人才来维持它的活力和发展?”

这种理念也延伸到了 Java 的开源生态系统。“Java 社区整体倾向于打造一些经久不衰的框架、项目和库,供人们使用,并在未来很多年里依赖它们,”Tene 解释道。“如果你仔细观察,就会发现大多数 Java 社区项目都没有太多丑闻,也没有太多仁慈独裁者或令人讨厌的人来运营它们。”

Azul 在其客户群中亲眼见证了这种稳定性。“由于 Java 如此普及,如此流行,我们的客户几乎涵盖了所有你能想到的垂直领域,规模各异,”Tene 说道。“当他们想要良好或更好地运行 Java 时,当他们想要 Java 应用程序的良好指标(这正是我们主要平台的优势所在)时,当他们想要非常优秀、构建可靠、支持良好且开源的平台时,我们的核心平台就能够满足他们的需求。我们为这些客户提供服务。”

此外,JavaScript 用于 Web GUI,而 Python 是开发人员“编写轻量级项目和服务”的一种方式。但每当看到事情逐渐成熟——从原型设计和一些初始功能,到‘我需要大规模运行,而且成本不能是原来成本的 50 倍’,他们往往会转向 Java 之类的语言,”Tene 说。他以Twitter(现为 X 平台)和LinkedIn为例。

“我们看到很多人用 Java 或基于 Java 的语言(如KotlinScala或今年 JVM 的新语言)重写大型后端,但从这个意义上讲,它们都是基于 Java 的,我们看到的只是更多,而不是更少,”Tene 说道。

现代 Java 的复兴


与此同时,那些可能记得 Java 冗长繁琐的用户可能会对其现代版本感到惊讶。“ Java 25将于今年晚些时候发布,与 Java 8 相比,它更加平易近人、更加友好,也更加容易上手,”Tene 说。

该语言还通过虚拟线程等创新拥抱了云原生开发,这将有望简化并发编程。“至少在 Java 中,这是尝试的转变之一,我认为在 Java 25 及更高版本中,我们将有机会回归到简单的传统线程概念,即操作在一个线程中运行,并能够同时运行数百万个线程。”

Azul 还通过检查点协调恢复(CRaC )等项目为 Java 的即时启动功能做出贡献。“我们领导的 OpenJDK 项目致力于为 Java 应用程序和云环境提供极速启动。因此,想想那些需要快速启动的自动扩展微服务或云函数吧。”

没有什么是永恒的


尽管 Java 目前在占据主导地位,但 Tene 承认,科技领域没有任何东西能够永恒。最终会有新的事物取代 Java。“当这种情况发生时,我确信,无论它叫 Java 还是其他什么名字,我们都会大量地使用它,大量地谈论它,并为它感到兴奋。”

但就目前而言,Java 诞生三十年后,它不断证明,有时最好的技术并非最新的——而是切实可行、可扩展且经久不衰的技术。正如 Tene 所说的那样,关于下一个可能出现的主流编程语言:“我们只是还没看到它。我从 2000 年代初期到中期就一直在说这个,所以,你知道,我一直在寻找,只是还没看到。”

与此同时,在一个痴迷于下一个大事件的行业中,Java 在其诞生 30 周年之际继续蓬勃发展,表明可靠性、可维护性和强大的生态系统往往比尖端功能和技术更重要。

作者:Tene

编译:场长

参考:

https://thenewstack.io/azul-cto-java-at-30-still-rules-enterprise-dev/

评论