Groovy和Groovy ++是两种语言还是一种语言?

时间:2011-09-03 22:38:19

标签: groovy groovy++

是Groovy 1.x(来自http://groovy.codehaus.org)和Groovy ++(来自http://code.google.com/p/groovypptest两种不同的语言还是只是一种语言的两部分?为什么或为什么不呢?

3 个答案:

答案 0 :(得分:4)

您的问题的答案在Groovy ++网站上提供。这是你链接到的页面上的第二句话!

  

Groovy ++是Groovy编程语言的静态类型扩展。

Groovy ++是Groovy的扩展。它建立在Groovy之上,在一些或所有类中添加了真正的静态类型。目标是性能和其他改进。同样,您链接的页面有完整的描述。

最近,Groovy确实提高了它的性能,并且通过添加Java 7 invokeDynamic,性能可能很快就会像Groovy ++ / Java一样快(差异几乎可以忽略不计)。

答案 1 :(得分:1)

从软件架构的角度来看,Groovy ++可能是Groovy的扩展。

但是如果你看一下语言水平:如果使用动态方法调用并使用@Typed注释该类,会发生什么?编译器会抱怨未知的方法。

我认为Groovy ++是一种新语言,因为@Typed带注释的Groovy类不允许动态调用,如未注释的Groovy类。它会更改代码的代码。

Groovy ++是Groovy的一个子集。

答案 2 :(得分:0)

正式的Groovy ++只是Groovy库。 Groovy ++甚至没有任何特殊的语法,并使用Java注释。

但实际上Groovy ++是Groovy方言(当然不是新语言)。

@Peter Groovy ++禁止使用一些Groovy libretys(据我所知,由于代码风格良好)。

但是,Groovy ++提供了许多语义扩展,例如非常复杂的类型推理系统,特征,扩展方法,函数式编程库等。

正因为如此,我认为Groovy ++不仅仅是“Groovy的子集”,正如你所说的那样。