是Groovy 1.x(来自http://groovy.codehaus.org)和Groovy ++(来自http://code.google.com/p/groovypptest)两种不同的语言还是只是一种语言的两部分?为什么或为什么不呢?
答案 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的子集”,正如你所说的那样。