35

以下にリストされている基準を考慮して、Python、Groovy、またはRubyのどれを使用しますか?

  • 基準(10のうちの重要性、10が最も重要)
  • 利用可能なAPI/ライブラリの豊富さ(例​​:数学、プロット、ネットワーキング)(9)
  • デスクトップ(java / c ++)アプリケーションに埋め込む機能(8)
  • 導入のしやすさ(8)
  • DLL /共有ライブラリとのインターフェース機能(7)
  • GUIを生成する機能(7)
  • コミュニティ/ユーザーサポート(6)
  • 移植性(6)
  • データベース操作(3)
  • 言語/意味論(2)
4

10 に答える 10

33

客観的な比較は難しいと思います。私は個人的にPythonが好きです。基準の1つに対処するために、Pythonは最初から埋め込み可能な言語として設計されました。非常に豊富なCAPIを備えており、インタープリターはモジュール化されているため、Cから簡単に呼び出すことができます。Javaがホスト環境の場合は、Java環境(VMおよびライブラリ)内のPythonの実装であるJythonを確認する必要があります。

于 2008-11-03T01:44:39.577 に答える
28

3つすべてを使用して、これが私が言えることです:

  • パイソン

    • 非常に成熟したライブラリがあります
    • ライブラリは文書化されています
    • ドキュメンテーションは、docstrings を介して実行時にデバッガー/シェルからアクセスできます。
    • IDE なしでコードを開発できる
  • ルビー

    • いくつかの優れたライブラリがあります (文書化が不十分なものもありますが)
    • Ruby のインストロスペクション メカニズムは優れています。それらはコードを書くのをとても簡単にしてくれます (たとえドキュメントが利用できなくても)
    • IDE なしでコードを開発できる
  • グルーヴィー

    • Java が提供するすべての恩恵を受けることができます
    • 構文はRubyからいくらかインスピレーションを得ています
    • IDE なしでコードを書くのは困難です。コンソールから何かをデバッグする方法はなく (これは Python/Ruby で簡単に実行できます)、利用可能な Groovy プラグインにはやるべきことがたくさんあります。Groovy を使用していくつかのアプリを作成しましたが、それらが大きくなるにつれて、Ruby/Python を使用しなかったことを後悔しています (デバッグはもっと簡単だったでしょう)。IDE からのみ開発する場合、Groovy はクールな言語です。
于 2009-09-09T19:33:20.270 に答える
24

水を濁らせるためだけに...

Groovyを使用すると、Javaにアクセスできます。Javaには、非常に豊富なAPI /ライブラリ、アプリケーションなどのセットがあります。

Groovyは埋め込み可能ですが、Javaで最も簡単です。

DLL /ライブラリ(Groovy / Java以外について話している場合)は多少問題があるかもしれませんが、役立つ方法といくつかのAPIがあります。

私はいくつかのPythonプログラミングを行いましたが、Javaに精通しているので、Groovyの方がはるかに簡単です。

于 2008-11-03T02:06:59.593 に答える
10

グルーヴィー?私はちょうどそれを拾っています。これを試してください(groovyconsole内で):

File.metaClass.invokeMethod = { String name, args ->
    System.out.print ("Call to $name intercepted...");
    File.metaClass.getMetaMethod(name, args).invoke(delegate, args);
}

new File("c:/temp").eachFile{
    if (it.isFile()) println it.canonicalPath
}

最初のコードは AOP です。File オブジェクトの任意のメソッドへの呼び出しはすべて傍受されます。追加のツールは必要ありません。これは、既存の Java クラスに対して動的に実行されます。

2 番目のブロックでは、'f' クロージャー パラメーターを削除します。パラメータは 1 つにすぎないため、クロージャ コンテキストで使用できる組み込みの「it」変数がデフォルトになります。

これがあなたが得るものです:

「isFile への呼び出しが傍受されました...C:\temp\img.jpg」

于 2009-04-27T04:15:03.403 に答える
8

Groovy を試してみてください。必要な機能がすべて揃っています。クラスを変更することなく、既存の Java ライブラリを使用できます。基本的に .. groovy は Java++ であり、より動的で楽しく学習できます (Ruby と同様)。

Ruby や Python の構文は好きではないので、後回しにします。Groovy は C/C++ 構文に似ているので、私は彼が好きです笑 :)

于 2008-11-29T00:34:24.383 に答える
7

Python には 9 つの基準がすべてあります。スコアは56です。

Ruby には Python が持つすべての機能が備わっていると確信しています。ライブラリが少ないようです。したがって、スコアは 51 です。

Groovy にすべての機能があるかどうかはわかりません。

Python は 56 歳、Ruby は 51 歳なので、Python はかろうじて Ruby を上回っています。

ただし、この種の決定は、これらの 9 つの基準以外の主観的な問題に帰結する可能性があると思います。

于 2008-11-03T02:48:20.180 に答える
6

あなたの基準から、私はJRubyを選びます:

  • 利用可能な API/ライブラリの豊富さ (例: 数学、プロット、ネットワーク) (9)

JVM がアクセスできるすべてのもの

  • デスクトップ (java/c++) アプリケーションに埋め込む機能 (8)

優れた Monkeybarsフレームワーク。GUI デザイナーで Swing GUI を設計し、クリーンな Ruby コードを使用して接続できます。

  • 展開の容易さ (8)

Rawrはアプリを実行可能な jar としてパッケージ化できます

  • DLL/共有ライブラリとのインターフェース機能 (7)

Java 共有ライブラリを簡単に、jna + libffi経由の C ライブラリ

  • GUI を生成する機能 (7)

スイングは機能します。QtJambi の使用がどれほど簡単かはわかりませんが、確実に可能です。

  • コミュニティ/ユーザー サポート (6)

たくさん。Ruby には優れたコミュニティがあります。

  • 携帯性 (6)

JVMが動作する場所ならどこでも

  • データベース操作 (3)

すべての ruby​​ データベース ライブラリすべての Javaデータベース ライブラリ

  • 言語・意味論 (2)

ここでは、ruby が groovy や python を確実にリードしています。この言語には、早い段階でいくつかの非常に美しい設計上の決定が下されており、それは標準ライブラリの一貫性とパワーに表れています。特にブロックは、使うのが楽しくなります。

于 2009-05-27T11:20:23.470 に答える
3

この種の機能ごとの加算スコアは、プログラミング言語を選択するための良い方法ではありません。あなたが最もよく知っている方を選ぶほうがよいでしょう。どれもわからない場合は、しばらく試してみてください。本当に特定のプロジェクトを念頭に置いている場合は、いくつかのプログラミング言語の方が良いかもしれませんが、一般的な好みがあるだけでは、コンセンサスに達することはありません。

とは言うものの、Pythonは非常に柔軟性があり、リストで最も人気があるため、検索することであらゆる種類の問題を解決するのが最も簡単なので、Pythonをお勧めします。

于 2008-11-03T02:03:04.687 に答える
2

パール?うわぁ。

誰かが観察したように、Perl は句読点工場での大爆発のようなものです。結果のコードが自己文書化されていない場合、その簡潔さは利点ではありません。

いくつかのユーティリティ タスクに Groovy を使用したことがあり、簡単に始められます。Java ライブラリへのフル アクセスに加えて、クロージャを使用してディレクトリ内のファイルを一覧表示するなど、Java ライブラリへのクールな追加機能がいくつかあります。

// process all files printing out full name (. and .. auto excluded)

new File(basedir).eachFile{ f->

    if (f.isFile()) println f.canonicalPath
}
于 2008-11-03T11:01:22.463 に答える
0

私はそれがあなたのリストに載っていないことを知っていますが、少なくともperlを見てください。

  • 船を沈めるためのApi/ライブラリの豊富さ。
  • ほとんどの人が認識しているよりも多くのシステムで実行されます。
  • バイナリライブラリでうまく機能します。
  • 巨大なコミュニティがあります。
  • 移植性、上記を参照してください。
  • データベース操作:それを行うためのより多くの方法。(お気に入りのモジュールを選択してください)
  • そして、周りで最も表現力豊かで簡潔な言語の1つです。
于 2008-11-03T01:36:34.210 に答える