【问题标题】:non-Java JVM languages - Any particular JVM feature that is not exploited by the Java language [closed]非 Java JVM 语言 - Java 语言未利用的任何特定 JVM 功能 [关闭]
【发布时间】:2015-08-18 15:50:14
【问题描述】:

我正在考虑在 JVM 上出现不同的非 Java 语言的必要性。除了语法糖和内置函数之外,它们中的任何一个实际上是否利用了 Java 语言尚未窥探到的 JVM 的某个角落?


以下不是我的问题的一部分;但这就是我想知道这一点的原因:

我从事 Java 开发人员已有 10 多年了,唯一让我感到厌烦的是它的冗长。现在将我推向一种不太冗长的类似 java 的编程语言(具有函数式/脚本风格)的原因,它会不时刷新我的疲倦。

在这里,在浏览了 Scala/Groovy 之类的东西(不太像 Clojure)之后;如果我真的想学习另一种编程语言,我强烈觉得像 Python 这样的东西会更好,而不是否认 Java,而是为我现有的编程库增加真正的价值。

【问题讨论】:

  • @Erik - 好的。谢谢你的建议。会这样做。
  • 你在 Java 8 中经常使用 lambdas 吗?
  • @Erik 这个问题非常不适合程序员 - 它会很快被否决并在那里关闭,请参阅On discussions and why they don't make good questions。推荐阅读:What goes on Programmers.SE? A guide for Stack Overflow
  • 我不明白你怎么能称之为语法糖。 Scala 是一种与 Java 完全不同的语言,看起来一点也不像,Groovy 更多地模仿 Ruby 的工作原理,Ceylon 更关注 Web 而不是通用编程,不胜枚举。
  • @sutanudalui JVM 是为 Java 设计的,因此它没有任何 Java 不使用的功能。

标签: java jvm-languages


【解决方案1】:

除了语法糖和内置函数之外,它们中的任何一个实际上是否利用了 Java 语言尚未窥探到的 JVM 的某个角落?

Java 添加了invokedynamic 来专门满足动态非Java JVM 语言的需求。 Java 8 以有限的方式将 invokedynamic 用于 lambda 表达式,但这条指令在 Groovy、JRuby 等中真正发挥作用。

唯一让我心烦意乱的“java-tiredness”是它的冗长

Java 8 的 Lambda 和强大的类型推断消除了大量的样板和冗长。事实上,今天很多人反对某些面向 lambda 的习语的简洁性

如果我真的想学习另一种编程语言,我强烈认为 Python 会更好

一定要学习 Java 以外的语言,不要停留在单一语言。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-14
    • 2014-05-26
    • 1970-01-01
    • 2014-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多