Java语法演进缓慢,是人手不够吗?

Java

1个回答

写回答

Awddb

2026-01-15 18:55

+ 关注

Java
Java

人手不足恐怕是最为关键的原因。Java正在开展诸多重要项目,像Panama(全新的外部内存/函数访问API以及手动SIMD支持)、Loom(达成协程与尾调用优化)、Valhalla(值类型与特化泛型)、Leyden(优化启动速度)、Babylon(代码模型API以及GPU编程支持)等。这些项目都需要投入大量的人力。特别是负责语法演化的Amber项目的负责人Brian Goetz还兼管Valhalla项目,这就导致OpenJDK的核心开发团队在语法演进方面可能精力不够充沛。随着Java 21中Loom的虚拟线程部分已经完成交付,Java 22中Panama的FFM API也正式发布,Valhalla的设计基本趋于稳定,核心开发人员应当会有更多精力分配到其他项目上去。其次,当前Java语法演化的重点在于模式匹配。在Java 21里,已经实现了instanceof和switch模式匹配以及record解构模式,但还有诸多计划中的模式尚未完成,例如更通用的解构模式、能够匹配值范围的范围模式、可以判断一个int是否在byte取值范围内的基本类型模式等等。OpenJDK团队现阶段对于那些能让程序员少写几行代码的语法糖缺乏兴趣,他们主要将精力放在能给编程范式带来变革的语法演进上,例如模式匹配等。在这些工作完成之后,他们或许才会重新考虑那些积压的相对不那么重要的语法提案。不过,有一点很多人还没有察觉到,那就是Java正在较为激进地朝着函数式化发展。模式匹配、record以及基于不可变对象的值类型方案等都体现了这一点。所以,未来的语法演化极有可能继续朝着函数式和不可变性的方向推进,很多增强传统的基于过程式和可变性范式的语法糖也许永远都不会被采纳。就我个人而言,对于Java语法演化并没有什么特别的看法,反倒更期望他们能将更多精力投入到Valhalla、Babylon等有助于整个JVM平台发展的项目上。如果用户想要更灵活的语法,那么Kotlin/Scala或许是更好的选择。

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号