我知道我的回答会被否决,但是..Dave Newton 是绝对正确的。这个词太笼统了...
在您的示例中,不必编译常规代码。恕我直言,在这种情况下更典型的 groovy 用法是使用 groovy 解释器。
是的:java 可以用作脚本语言。我见过企业产品,您可以在其中使用 Java 代码编写小脚本。该程序将其包装在一个类中,编译并执行它。
因此,如果您比较这些方法,用户是否使用像 groovy 这样的“真正的脚本”语言或通过小技巧将 Java 变成一种语言对用户来说并不重要。
顺便说一句:大多数 java 语句也在 groovy 中运行......所以如果你只看一下像这样的代码片段
res = 5 * 16 + 2
您无法判断这是脚本还是未编写脚本的内容的一部分。您甚至无法分辨它是用哪种语言编写的!
所以,回到你原来的问题:
我不会说您可以将java 视为一种脚本语言,但在某些情况下您可以使用 java满足您的脚本需求,但是人们会错过像动态语言这样的“真正的”脚本语言所附带的快捷方式。
更新:
正如您所说的“java 可以用作脚本语言。我已经看过企业产品,您可以在其中使用 java 代码编写小脚本”如果您能简要介绍一下您在这里谈论的小脚本类型会很有帮助?
我说的是扩展产品超出正常功能的小脚本:MS Office 产品中的 Visual Basic、Bonita(工作流产品)中的 Groovy 以及 Jasper iReports(报告生成器)中的 Groovy、JavaScript 和 Java(是的!Java!)
顺便说一句:你会在这里找到在 Jasper 中使用 Java 和 Groovy 的一个很好的比较:http: //jasperforge.org/uploads/publish/ireportwebsite/IR%20Website/iReport_groovy.html
它向您展示了 Java 可以用作脚本语言,但其他解决方案更好:-)
我问这个是因为大多数网络都说脚本语言通常是一种允许任务自动化(脚本)的语言。如果我按照这个定义,那么每种语言都成为脚本语言,因为我们可以使用任何语言自动执行一种或其他类型的任务。
对我来说,脚本语言不仅仅是一种允许任务自动化的语言。对我来说,PHP、Javascript、Visual Basic 和 Groovy 也是脚本语言。还有关于 Post* Script *?
顺便说一句:刚刚发现http://www.beanshell.org/ - 一种完全兼容 Java 的脚本语言。
正如我已经提到的,恕我直言,许多语言都可以用作脚本语言,但有些更适合:-)