我正在尝试在groovy和beanshell之间进行选择,我需要一个正在进行开发,速度适中,可以访问/解释java代码并支持限制它可以在我的内部代码中访问的java类。我不确定beanshell是否仍在积极开发中。请指教我。
谢谢。
答案 0 :(得分:7)
查看beanshell.org档案,看起来它自2005年以来一直没有真正活跃的开发。developer mailing list自2009年1月以来没有任何流量。这项工作可能已转移到其他地方当然,但我看不到任何明显的目的地......
Groovy肯定正在积极开发中。
(免责声明:作为参与Groovy in Action的人,我有一定的偏见...但我实际上并没有定期使用Groovy;它不像我有一把斧头要研磨:)
答案 1 :(得分:2)
以下是我在groovy和beanshell之间发现的差异
我更喜欢groovy用于我的开发,因为它可以实现我的目的,它可以执行用beanshell编写的脚本。
无论如何,下面是我在评估Groovy 2.0.0时发现的观察结果Beanshell 2.0b4
这两种脚本语言都具有类似于Java的语法。
Groovy
使用泛型支持泛型和集合。还支持原始类型 例如> ArrayList str = new ArrayList()
支持使用变量参数调用方法 例如。 method(int ... i)
BeanShell的
不支持将某些十六进制十进制值分配给原始数据类型 例如int i = 0x80018000从beanshell解释器抛出一个异常,说大小很大 在这种情况下将使用BigInteger,这又是乏味的,因为我们必须做这样的事情 BigInteger i = new BigInteger(“0x80018000”);
This problem occurs even if we declare long i = 0x80018000
答案 2 :(得分:0)
似乎Beanshell is under development lately并且将在某些时候集成到J2SE中。我会投票支持Beanshell而不是Groovy,最重要的原因是它更直接,而不是学习Groovy所有独特语法的学习曲线,使其几乎像学习一门新语言。