3

Groovy と beanshell のどちらかを選択しようとしています。開発が活発で、適度に高速で、Java コードにアクセス/解釈でき、内部コードでアクセスできる Java クラスの制限をサポートするものが必要です。beanshell がまだ活発に開発されているかどうかはわかりません。私に助言してください。

ありがとうございました。

4

3 に答える 3

7

Beanshell.orgのアーカイブを見ると、2005年以降、実際に活発に開発されていないようです。開発者のメーリングリストには、2009年1月以降トラフィックがありません。もちろん、作業が他の場所に移動した可能性もありますが、明らかな目的地が見えません...

Groovyは間違いなく活発に開発されています。

(免責事項:Groovy in Actionの本に携わっている人として、私にはある程度の偏見があります...しかし、実際には定期的にGroovyを使用していません。斧を持っているわけではありません:)

于 2011-07-30T07:59:20.317 に答える
2

以下は、groovyとbeanshellの違いです

ビーンシェルで書かれたスクリプトを実行できるという私の目的に役立つので、私の開発にはgroovyを好むでしょう。

とにかく、以下は、Groovy 2.0.0 と Beanshell 2.0b4 を評価したときに見つけた観​​察結果です。

これらのスクリプト言語は両方とも、Java に似た構文を持っています。

グルーヴィー

  1. Groovy エンジンは、beanshell 用に作成されたスクリプトを実行できます
  2. 実行環境はjava 1.5です。JDK1.5で開発
  3. ジェネリックとジェネリックを持つコレクションをサポートします。生の型もサポートします eg> ArrayList str = new ArrayList()

  4. 可変引数を使用したメソッドの呼び出しをサポートします。メソッド(int...i)

  5. int などのプリミティブ データ型をサポートして、4 バイトの 16 進数値を割り当てます。int i = 0x80018000;
  6. 配列の初期化の構文は、Java とは少し異なります。Java では、配列は int[] array = {1,2,3}; として初期化されます。Groovy では、int[] array = [1,2,3]; として実行されます。
  7. for ループや for each ループなどのサポート

ビーンシェル

  1. Beanshell は、JDK1.4 に基づいているため、groovy 用に作成されたスクリプトを実行できません。したがって、一般的な機能はありません
  2. 実行環境は 1.4 以上ですが、ジェネリックをサポートしていません
  3. ジェネリックをサポートしていません。raw タイプのみがサポートされています
  4. 可変引数を使用したメソッドの作成または可変引数を使用したメソッドの呼び出しはサポートされていません
  5. プリミティブ データ型への特定の 16 進値の割り当てをサポートしていません。 BigInteger i = new BigInteger("0x80018000");

        This problem occurs even if we declare long i = 0x80018000
    
  6. 配列の初期化の構文は Java に似ています。
  7. for ループや for each ループなどのサポート
于 2012-11-30T10:21:24.153 に答える
0

Beanshellは最近開発中で、ある時点で J2SE に統合されるようです。私は Groovy よりも Beanshell に投票します。最も重要な理由は、Groovy の独自の構文をすべて学習しようとする学習曲線がなく、新しい言語を学習するのとほとんど変わらないということです。

于 2011-08-18T21:20:48.750 に答える