【问题标题】:Scala lambdas implementation vs. Java 8 [closed]Scala lambdas 实现与 Java 8 [关闭]
【发布时间】: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


【解决方案1】:

您可以在此处了解更多信息:http://www.takipioncode.com/2014/01/16/compiling-lambda-expressions-scala-vs-java-8/ 或来自 Martin Odersky 的采访: http://www.infoq.com/articles/odersky-scala-interview/。我明白,由于 Scala 的性质,目前这并不容易,甚至可能是不可能的。

【讨论】:

    猜你喜欢
    • 2014-05-13
    • 2017-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    • 2010-12-21
    • 2019-07-06
    相关资源
    最近更新 更多