导读:Java语言30年,功力是否减于当年?
Java 诞生三十年后,仍在继续主导企业开发,经受住了无数“杀手级”技术的考验,并随着从人工智能集成到云原生创新的现代计算趋势,而不断地向前发展。
Java 编程语言于25日迎来了它的 30 岁生日。
在Java问世 30 年后,它仍然是企业软件开发的冠军,打破了数十年来关于其消亡的预测,继续为世界上最重要的商业应用程序提供支持。
Azul Systems联合创始人兼首席技术官Gil Tene在接受采访时被问及应用程序的长期可维护性时表示说:
“Java 在这方面拥有迄今为止最好的记录。你现在就可以雇佣员工。现在有数百万人才可以雇佣,他们具备维护 10 到 15 年前用 Java 编写的应用程序的技能。没有其他编程语言能做到这一点。”
Java“杀手”名单读起来就像是曾经炙手可热的技术坟墓。“后来,Ruby on Rails风靡全球,彻底取代了 Java,现在很难再找到Ruby 程序员来维护它了。”Tene 这样补充道。
引人注目的不仅仅是 Java 的幸存,更是它持续的增长。“Java 一点都没萎缩。它一直在不断发展,它的邻居们也在不断发展,”Tene 如此解释道。
但随着计算格局的转变,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 也正在找到自己的位置。“根据我几个月前听到的统计数据,Java 目前是人工智能领域的第三大语言,Python 遥遥领先于第一,”Tene 谈到人工智能应用程序开发时说道。“我们看到,希望将人工智能融入其中的应用程序数量正在大幅增加,而 Java 应用程序的加入也将变得水到渠成。”
Java 的持久力源于一个简单的商业现实:企业需要能够持久运行的软件。“当你尝试弄清楚要用什么来构建你的应用程序时,你应该考虑的事情之一是,五年后、十年后,你将如何维护它?你是否能够招到所需的人才来维持它的活力和发展?”
这种理念也延伸到了 Java 的开源生态系统。“Java 社区整体倾向于打造一些经久不衰的框架、项目和库,供人们使用,并在未来很多年里依赖它们,”Tene 解释道。“如果你仔细观察,就会发现大多数 Java 社区项目都没有太多丑闻,也没有太多仁慈独裁者或令人讨厌的人来运营它们。”
Azul 在其客户群中亲眼见证了这种稳定性。“由于 Java 如此普及,如此流行,我们的客户几乎涵盖了所有你能想到的垂直领域,规模各异,”Tene 说道。“当他们想要良好或更好地运行 Java 时,当他们想要 Java 应用程序的良好指标(这正是我们主要平台的优势所在)时,当他们想要非常优秀、构建可靠、支持良好且开源的平台时,我们的核心平台就能够满足他们的需求。我们为这些客户提供服务。”
此外,JavaScript 用于 Web GUI,而 Python 是开发人员“编写轻量级项目和服务”的一种方式。但每当看到事情逐渐成熟——从原型设计和一些初始功能,到‘我需要大规模运行,而且成本不能是原来成本的 50 倍’,他们往往会转向 Java 之类的语言,”Tene 说。他以Twitter(现为 X 平台)和LinkedIn为例。
“我们看到很多人用 Java 或基于 Java 的语言(如Kotlin或Scala或今年 JVM 的新语言)重写大型后端,但从这个意义上讲,它们都是基于 Java 的,我们看到的只是更多,而不是更少,”Tene 说道。
与此同时,那些可能记得 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/
本文为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。