在Java世界中,您首选的脚本语言是什么(JVM上的脚本语言)?在什么情况下,您会选择使用脚本语言而不是Java(例如用于原型制作)?您将其用于大型项目还是仅限于个人项目?
在Java世界中,您首选的脚本语言是什么(JVM上的脚本语言)?在什么情况下,您会选择使用脚本语言而不是Java(例如用于原型制作)?您将其用于大型项目还是仅限于个人项目?
我曾在商业项目中成功使用Groovy。我更喜欢脚本语言,因为它们支持鸭子类型和闭包:
def results = []
def min = 5
db.select(sql) { row ->
if (row.value > min)
results << row;
}
翻译:对数据库运行SQL查询,并将所有列“value”大于“min”的行添加到“result”中。请注意,您可以轻松地将数据传递给内部的“loop”,或从其中获取结果。是的,我知道我也可以使用SQL实现相同的功能:
def results = []
def min = 5
db.select(sql, min) { row ->
results << row;
}
请想象一下,“sql”中的字符串在正确的位置上有一个“?”。
在我看来,使用一种不提供丰富的列表操作(排序、筛选和转换)和闭包的语言来使用数据库,只是一个你不应该采用的例子。
我很想更多地使用Jython,但是Jython 2.5的工作只是最近才开始,而Python 2.2对于我的目的来说太过陈旧了。
我最喜欢的是Jython,我通过在Java应用程序中嵌入Jython解释器来使用它。它被用于商业项目中,并且可以根据客户需求轻松定制应用程序,而无需编译任何东西。只需将脚本发送给他们,就可以完成定制。有些客户甚至可能自己定制他们的应用程序。
我可能更喜欢Scala,但是我现在还在学习。目前使用Groovy编写小型实用程序。甚至没有尝试过基于Grails的Groovy。也听说过Lift Framework for Scala很好。
Java。说真的,它是一种功能强大、易于使用(尽管有点啰嗦)的语言,人人都知道。与 Java 的集成非常好。
你听说过SISC(Scheme代码的第二解释器)吗?