当我坐在这里修改 PircBot ,我刚刚注意到整个后端都是为支持 Java 1.1 而编写的。它有一个自定义队列实现,使用哈希表,基于 wait() 和 notify() 信号的自定义生产者/消费者实现,等等。甚至 Commons-lang 也缺乏对 Java 5 带来的东西的任何支持,比如泛型。您可以举出许多其他非常流行的框架示例,这些框架尽最大努力支持 1.1。
我的问题是为什么?为什么 Java 社区的某些部分拒绝支持新版本?我遵循这个理论:旧版本使用旧版本的框架和旧 JVM,新版本使用升级的框架和 JVM。您可以使用软件升级所有内容。
现在我可以部分理解人们仍在运行 Java 1.5,但是 1.1?如果你在那之前运行任何东西,那么你显然不会因为愚蠢的政策/害怕未知而升级 JVM,因此不会升级到更新版本的软件。那我们为什么还要支持他们呢?
在相关说明中,如果您正在编写一个新框架,您应该支持 <1.5 的任何东西吗?您是否应该尝试 fork 现有框架,将其升级到 1.5,然后与维护人员讨论如何使用它?
更具体的讨论(这是关于一般支持): Is there still a good reason to support JDK 1.4?
最佳答案
因为它很简单!从 Java 1.1 到 Java 1.4,只引入了微小的语言特性(例如 strictfp
)。那么,如果不需要,为什么要限制自己。因此,假设您编写了一个 StringUtil
类,或者您解析了 Word 文件,那么就没有关系了。从 Java 5 开始,您就有了语言改进,从 Java 1.0 到 Java 1.1,当然还有内部类。
这只是针对语言,而不是针对库。当然还有一些有趣的补充。
关于java - 为什么有些框架拒绝放弃对古老 Java 版本的支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3381187/