您在Java世界中使用的首选脚本语言(JVM上的脚本语言)和方式是什么?您何时更喜欢脚本语言而不是Java(在什么情况下例如用于原型设计)?您是将它用于大型项目还是仅用于个人项目?
答案 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(计划代码的第二个翻译)怎么样?