soc*_*soc 4 java generics jvm jvm-languages .class-file
你怎么认为?JVM 会得到对泛型的支持吗?
很可能这不仅需要对 JVM 进行大量更改,还需要对类文件格式进行更改,而且在 VM 上运行的语言将从中受益匪浅。
编辑: Java 语言实际上支持某种泛型作为编译时功能,它向字节码添加了一些强制转换,人们以前必须手动添加。
不改变 JVM 或类文件规范的决定在当时很容易理解,因为他们不想破坏向后兼容性,而且 Java 是当今 JVM 唯一重要的语言。
虽然这个决定可能适用于 Java 语言,但它显着减少了其他语言选择如何在 VM 上实现泛型的自由度。
考虑到 Sun/Oracle 已经宣布让 JVM 成为替代语言更友好的地方,他们真的会做他们承诺的事情还是认为他们认为添加“InvokeDynamic”的低成本就足够了?
在我看来,这是不可能的。
将这些更改应用于 Java 语言简直太具有破坏性了。与两种不同的泛型模型的语言和运行时向后兼容性对于设计者来说将是一场噩梦。
如果没有 Java 来驱动对 JVM 的更改,则很难看出 Oracle 将/能够证明完成所需工作的合理性。
我看到的唯一可能性是:
Oracle 决定开发一种 Java 的后继语言(不向后兼容),它可以更好地处理泛型、闭包和一大堆事情。这将是一个非常勇敢的商业决策,我认为 Oracle 没有能力做出这样的决定。
一群其他人/公司聚在一起,分叉 JVM 规范和代码库。这也是一个勇敢的举动。
我认为 Oracle 不太可能仅仅为了支持他们没有商业兴趣的语言而对 JVM 进行重大更改。我们在这里谈论的是 Oracle ......业务类型对什么有更严格的控制工程类型要做的事情比在垂死的太阳天里还要多。(嘿......我们可以在这里开始一个完整的杰克万斯主题:-)
| 归档时间: |
|
| 查看次数: |
896 次 |
| 最近记录: |