2

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

4

3 回答 3

4

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

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

Groovy++ 是 Groovy 的扩展。它以 Groovy 为基础,在某些或所有类中添加了真正的静态类型。目标是性能和其他改进。同样,您链接到的页面具有完整的描述。

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

于 2011-09-04T01:23:42.387 回答
1

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

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

我认为 Groovy++ 是一种新语言,因为带@Typed注释的 Groovy 类不允许像未带注释的 Groovy 类那样动态调用。它改变了代码的语义。

Groovy++ 是 Groovy 的一个子集。

于 2011-10-12T09:03:14.223 回答
0

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

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

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

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

因此,我认为 Groovy++ 不仅仅是您所说的“Groovy 的子集” 。

于 2011-11-01T08:00:31.173 回答