【问题标题】:Why not Rhino for JVM apps?为什么不使用 Rhino for JVM 应用程序?
【发布时间】:2010-07-21 02:06:44
【问题描述】:

我想使用简洁、动态的语言为 JVM 开发一些应用程序。最流行的选择似乎是 Jython、JRuby、Groovy,也许还有 Clojure。

Rhino 看起来速度很快而且非常稳定,但是我没有看到任何关于 Rhino 开发的书籍和很少的讨论。为什么除了嵌入式脚本之外很少使用 JavaScript?

编辑:我发现this 问题提供了有关基于 Rhino 的开发可行性的信息。

【问题讨论】:

    标签: groovy jruby jython rhino jvm-languages


    【解决方案1】:

    我将 Rhino 用作生产级 VoiceXML 解释器的一部分,该解释器用 Java 编写并在 JVM 上运行。它非常适合这个目的。如果我从头开始重新实现这个解释器,我会倾向于在 JavaScript 中进行更多的开发。所以这绝对是一个选择。您需要探索周围的库对于您的应用程序领域有多成熟(您始终可以编写从 JavaScript 调用到 Java 库的逻辑,但这可能太费力了)。

    但我也同意@Peter Recore:请再看看其他 JVM 语言。对象函数式 Scala 语言给我留下了深刻的印象:它的性能几乎与 Java 一样好,并且具有很强的表达能力。

    更新:关于 JavaScript 的好书是:JavaScript: The Definitive GuideJavaScript: The Good Parts。您需要的唯一 Rhino 特定的东西是 here

    【讨论】:

      【解决方案2】:

      我从来没有用过 Rhino,所以我不能提供技术原因,但作为一个通用程序员,我可以提供一个流行心理学理论:

      在其生命的大部分时间里,javascript 一直是严格的客户端语言,至少在人们的脑海中是这样。更糟糕的是,它看起来很糟糕,因为使用 javascript 的网页总是存在问题。这些问题不一定是语言的错,而是浏览器如何实现它,它们如何组织 dom 以及我们能够通过 javascript 访问什么。但在我们的脑海中,我们开始认为“javascript 有问题”甚至只是“javascript 的功能有限”。

      因此,尽管有些人可以用它做所有高级魔法,但我们中的许多人认为 javascript 是一种玩具语言,从我们早期对网络的记忆来看,它所能做的就是在鼠标悬停时改变图像。

      最后,要让一种语言变得流行(尤其是在缺乏大型企业赞助商的情况下),它需要比现有语言有一些切实的好处。已经有很多服务器端语言、框架和运行时在争夺人们的注意力。 javascript 有什么特别之处,以至于人们应该放弃他们已经使用的技术 X 的投资? (这不是在挖 js,只是深思)

      【讨论】:

      • 另外,你考虑过scala吗?它不是严格意义上的动态语言,但无论如何都可以为您提供动态语言的大部分好处。
      • 我喜欢使用 Lua 进行原型设计。 JavaScript 语义足够接近,可以让我感到温暖。
      猜你喜欢
      • 1970-01-01
      • 2011-12-04
      • 2022-10-17
      • 1970-01-01
      • 2015-10-01
      • 2020-06-15
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多