5

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

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

编辑:我发现这个问题对基于 Rhino 的开发的可行性提供了信息。

4

2 回答 2

5

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

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

Update: Good books to read on JavaScript are: JavaScript: The Definitive Guide and JavaScript: The Good Parts. The only Rhino-specific stuff you'll need is here.

于 2010-07-16T17:59:40.303 回答
3

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

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

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

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

于 2010-07-16T17:36:44.383 回答