2009年06月06日

Groovy

 前回、スクリプト言語を選ぶのにも考え込んじゃってる優柔不断っぷりをご披露したわけですが、今回は、結局何を選んだのかについて書きたいと思います。

 結論から言うと、私が選んだスクリプト言語はGroovyです。
Javaメインの開発者としては、もっとも驚きの少ない選択かと思います。 Groovyは、既にJSR241でJava標準に組み込まれていることもあり、認知度は徐々に上がってきているのではないでしょうか。
公式サイト(日本語はこちら)も充実していて、あまり情報不足で困ることはありません。
 また、左のような、言語仕様を詳細に解説する書籍も刊行されています。

 Groovyは、Rubyに強い影響を受けた言語です。
Rubyの構文と比較してみると、その類似性は明白です。
GroovyとRubyのどちらかを知ってしまえば、もう一方もほとんど苦労なく使うことができるのではないでしょうか。

 GroovyとRuby両方に共通するフィーリングがあります。
Rubyはそれを「楽しさ」と言い、Groovyはその名のとおり、「グルーヴ」と言います。
 双方とも、言語の表現力と、記述されるコードの抽象度を上げるために、ランタイムが裏でたくさんの仕事をしています。
記述をより簡潔にするシンタックスシュガーも、ランタイムの働きを引き立てて、深みのある味わいを作り出しています。
冗長な記述を極力排除し、高い抽象度でのコードの記述を可能にすることで、楽しさやグルーヴの感覚を醸し出しているのです。


 というかんじで、Groovyの目指すところや表面的な構文は、Rubyと似ているのですが、単なるRubyの真似っこではありません。
最も特徴的なのは、コンパイルするとJavaのクラスファイルになるという点です。
Groovyは、インタプリタ的に実行することもできますが、事前にコンパイルすることもできます。
事前コンパイルした場合には、コンパイル結果はJavaコードをコンパイルした場合とまったく同じ、クラスファイルになります。
インタプリタとして実行した場合には、単にそのコンパイルが実行時に、インメモリで行われるだけです。
つまり、どちらにしろ、実行時にはJavaコードとGroovyコードには何の差もないわけです。
そのため、Groovyコードから自由にJavaの世界のオブジェクトを使用することができます。

 つまり、これまで積み重ねられてきたすべてのJava資産が、そのまま使用できるということです。
このことは、以下のようなメリットをもたらします。
  • これまでにJavaで作ってきたアプリケーション中のオブジェクトを再利用できる
  • Javaで使い慣れたすべてのライブラリがそのまま使用できる
  • Java向けに開発された、すべてのフレームワークがそのまま使える
  • よく知っているAPIをそのまま使えるので、より素早くコーディングすることができる

 これは、Java開発者にとって、とても嬉しいことです。

 おまけにと言ってはナンですが、RubyにRailsがあるように、GroovyにはGrailsがあります。
これがまたおもしろいですよ。

Javaをメイン言語としている開発者の方には、スクリプトにはGroovyを採用することを、ぜひお勧めします。
posted by craftsman at 22:16 | 東京 ☁ | Comment(0) | TrackBack(0) | 雑草の雑想
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/120968103
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。