【发布时间】:2014-02-04 15:02:45
【问题描述】:
Java 8 中即将引入的函数字面量使用invokedynamic,而不是静态编译。这似乎带来了在发出的字节码中减少编译“噪音”的好处,我假设这意味着编译时间相对较短(忽略 Scala 编译速度较慢的所有其他原因),以及要加载的类更少。如果有任何计划将 Scala 朝这个方向发展,现在有人吗?如果没有,有人能解释一下 Scala 团队不这样做的原因吗?这是this问题中问题/第9点的后续内容。
【问题讨论】:
-
对于stackoverflow 恕我直言,我建议programmers.stackexchange.com
-
就目前而言,问题的当前措辞可能主要基于意见,因为它要求对 Scala 未来方向的猜测。只有使用 Scala 的人才能回答 - 否则将是猜测。请不要在未关闭和删除此问题的情况下重新发布(堆栈交换网络上的问题的两份副本不受欢迎)并环顾四周,看看 P.SE 的预期质量标准是什么。
-
一个原因是,依赖
invokedynamic意味着放弃对Java 5 和Java 6 的支持并且至少需要Java 7(或者更准确地说:放弃对JVM 规范第2 版的支持并需要第3 版)。在所有主要 JVM 供应商正式终止其 Java 6 产品之前,您根本无法使用生产 JVM 语言做到这一点。 -
我不是在寻找关于这个的猜测,但特别是如果有人对是否有计划移动有任何洞察力,如果没有,为什么不这样做。 Jorg 的评论在某种程度上回答了这个问题。我稍微改写了这个问题,以便更准确地回答我要问的问题。
标签: java function scala lambda java-8