Groovy优于Jython或Jruby?




jvm-languages language-comparisons (4)

当我可以使用Jython或Jruby时,为什么我会选择使用Groovy? 该语言是否提供了任何固有的优势来弥补Jython和Jruby技能适用于JVM之外的其他语言的事实?

请记住,我故意将此问题保持为通用,但如果特定域中存在任何优势,请不要犹豫,对其进行描述。

编辑
为了澄清,如果我在Jruby中编写一些代码,在某些情况下,如果需要,我现在可以将代码移到JVM之外,或者至少我已经对Ruby有了更好的理解。 而Groovy技能仅在使用JVM中存在的语言时才适用。 Jython和Jruby具有这种内置优势,Groovy必须弥补这一劣势吗?

如果Groovy没有你找到的任何优势,你建议只使用Jython或Jruby,请告诉我。

编辑2
感谢大家的所有答案,其中大多数都提出了相同的观点,Groovy与Java,Jython或Jruby集成得稍好一些。

跟进
使用Netbeans 6.5作为我的IDE我发现Groovy可以更好地与Java项目集成,然后是Jruby。 我不确定缺乏集成是否是Jruby或Netbeans的失败。 但是在使用它之后,Groovy似乎肯定会有所帮助。


我不知道为什么应该选择Groovy,因为我不知道你的背景。 如果您是Java开发人员,那么Groovy会更像您当前的语言,而不是JRuby或Jython。 Groovy结合了最好的Java,语言,Java,平台和Ruby语言。


我只有Jython和Groovy的经验。 目前,Jython的最大缺点是推荐用于生产的最新版本(2.2.1)具有“大致对应于Python-2.2”的功能集( Jython FAQ )。 有一个测试版实现了我认为的Python 2.5,它现在是一个版本。 不知道JRuby是否可以这么说。


我想说如果你需要将Java与Jruby / Groovy混合使用,请使用Groovy。 正如大家所说,Groovy拥有更紧密的Java集成。

但就语言实现而言,我更喜欢Ruby语言而不是Groovy,语言围绕着自身,在Groovy中有一些实现本身固有的hacks(只是观看Grails栈跟踪而不是Rails栈跟踪而你'我明白我的意思了。

强烈建议看看Neal Ford 对Groovy和JRuby比较


我认为Dick Wall非常好地总结了这三者在Java Posse播客(#213,大约34:20)之间的差异......“JRuby旨在让程序员高兴......这是编程语言开发人员的选择; Python在简单性和教育方面有着非常强大的根基; Groovy的目标是成为Java开发人员的选择......这是一个非常熟悉的Java环境......支持注释“。

关于在JVM之外移动语言,我认为Java运行时不会产生很大的开销 - 这是一个简单的安装,你需要设置一些环境变量 - 但它确实提供了许多好处,包括一个经过高度优化的成熟运行时,以及一大堆库。 JRuby团队现在报告的性能优于原生MRI。 http://blog.headius.com/2008/08/twas-brillig.html







language-comparisons