2

Groovy 1.x ( http://groovy.codehaus.orgから) と Groovy++ ( http://code.google.com/p/groovypptestから)は2 つの別個の言語ですか、それとも1 つの言語の 2 つの部分ですか? なぜですか、そうでないのですか?

4

3 に答える 3

4

ご質問への回答は、Groovy++ Web サイトで提供されています。リンク先のページの 2 番目の文です。

Groovy++ は、Groovy プログラミング言語の静的型付け拡張です。

Groovy++ は Groovy の拡張機能です。これは Groovy の上に構築され、一部またはすべてのクラスに真の静的型付けを追加します。目標は、パフォーマンスとその他の改善です。繰り返しますが、リンク先のページには完全な説明があります。

最近、Groovy はそのパフォーマンスを大幅に改善しました。Java 7 の追加によりinvokeDynamic、パフォーマンスはすぐに Groovy++/Java とほぼ同じくらい速くなる可能性があります (違いはほとんど無視できます)。

于 2011-09-04T01:23:42.387 に答える
1

ソフトウェア アーキテクチャの観点では、Groovy++ は Groovy の拡張機能である可能性があります。

しかし、言語レベルを見ると、動的メソッド呼び出しを使用し、そのクラスに で注釈を付けるとどうなり@Typedますか? コンパイラは、不明なメソッドについて文句を言います。

@Typedアノテーションが付けられた Groovy クラスは、アノテーションが付けられていない 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 に答える