在Java世界(JVM上的脚本语言)和方法中,您首选的脚本语言是什么?

时间:2009-03-18 07:45:43

标签: java scripting-language jvm-languages

您在Java世界中使用的首选脚本语言(JVM上的脚本语言)和方式是什么?您何时更喜欢脚本语言而不是Java(在什么情况下例如用于原型设计)?您是将它用于大型项目还是仅用于个人项目?

8 个答案:

答案 0 :(得分:5)

对我而言,Clojure赢得了胜利。作为一个Lisp,它简洁而动态地输入,它具有巨大的表现力,所以我可以在几行中编写很多功能。它与Java的集成是无与伦比的 - 当我说Clojure与Java比Java本身更兼容时,我只是在开玩笑。因此,来自JDK和第三方的整个Java库都是完全可用的。

最后,有点小心Clojure代码可以像Java代码一样快,所以我甚至没有失去性能。

答案 1 :(得分:4)

我最喜欢的是Jython,我通过在我的Java应用程序中嵌入一个Jython解释器来使用它。它被用于商业项目,它允许根据客户的需求轻松定制应用程序,而无需编译任何东西。只需向他们发送脚本,就是这样。有些客户甚至可能自己定制他们的应用程序。

答案 2 :(得分:4)

我在商业项目中成功使用了Groovy。我喜欢脚本语言,因为鸭子打字和关闭:

def results = []
def min = 5
db.select(sql) { row ->
    if (row.value > min)
        results << row;
}

翻译:对数据库运行SQL查询,并将“value”列大于“min”的所有行添加到“result”。请注意,您可以轻松地将数据传递到内部“循环”或从中获取结果。是的,我知道我可以用SQL实现相同的目标:

def results = []
def min = 5
db.select(sql, min) { row ->
    results << row;
}

(想象一下“sql”中的字符串在正确的位置有一个“?”。

恕我直言,使用不提供丰富列表操作(排序,过滤,转换)和闭包的语言的数据库只是一个例子,你不应该这样做。

我更喜欢使用Jython,但是Jython 2.5的工作最近刚开始,而Python 2.2对于我来说太老了。

答案 3 :(得分:3)

我可能更喜欢Scala,但我不能说,还在学习。目前使用Groovy编写小型实用程序。还没有在Grails上尝试过Groovy。听到很多关于Lift Framework for Scala的好消息。

答案 4 :(得分:3)

JavaScript Rhino具有引人注目的优势 - 它是included with the JDK。话虽如此,Rhino的后续版本比使用Java 6的版本具有很好的功能,如generators, array comprehensions, and destructuring assignment.

每当处理Java异常的仪式混乱代码而没有真正的好处时,我都赞成使用它。当我想编写一个利用Java库的简单命令行脚本时,我也会使用它。

答案 5 :(得分:3)

Java的。认真。它是一种功能强大,易于使用(如果有点冗长)的语言,每个人都知道。与Java的集成很棒。

答案 6 :(得分:1)

我工作的公司将Groovy嵌入到Java / Spring网站中,该网站部署在许多网站上。脚本存储在已编译的WAR文件的外部,允许我们操作一些站点逻辑,而不必向每个站点推出新的WAR。到目前为止,这种方法对我们来说非常优雅。

Groovy的一个特别好的功能是它可以非常类似于Java代码,这使得将现有Java类移植到它上面非常容易。

答案 7 :(得分:1)

SISC(计划代码的第二个翻译)怎么样?

参考:http://sisc-scheme.org/