alt.lang.jreコラム:
Groovyに触ってみよう


Andrew Glover (aglover@vanwardtechnologies.com)
CTO, Vanward Technologies
2004/9/25


主な内容
なぜまた新しい言語が必要か
javacが不要
動的型付けの威力
文法は自由自在
Groovyのその他の特徴


本記事は、IBM developerWorksからアットマーク・アイティが許諾を得て翻訳、転載したものです。
 Javaがいまのプログラマ世代の心をつかむことに成功した理由は、言語としての厳格さや、その懐の深さにあるだろう。これとは対照的に、使いやすさと利便性、そして小回りの良さを武器に、Javaプラットフォームにおけるプログラミングの新時代を築きつつある言語がGroovyだ。alt.lang.jreコラムの第2回となる今回は、Javaプラットフォームの新たな標準として追加が検討されている言語Groovyについて、Andrew Gloverが分かりやすく解説する(alt.lang.jreコラムの第1回「Jythonを知る」の邦訳は、IBM developerWorksに掲載されています)。

 Javaエンジニアであれば、Groovyについて耳にしたことがあるだろう。James StrachanとBob McWhirterという2人の著名なエンジニアによって生み出されたGroovyは、Java APIベースのアジャイルな開発を実現するスクリプト言語だ。2004年3月にはJSR(Java Specification Request)−241として認定され、現在は標準化作業の初期段階にある。Javaそのものに対する見方やその位置付けを根底から覆すものという評価さえある。

 Groovyの標準化作業を始めるに当たり、その責任者の1人Richard Monson-Haefelは、同言語を支持する理由として「アジャイルな開発言語をJavaプラットフォームに追加するための機が熟した」と説明している。Javaに移植されたスクリプト言語はいくつか存在するが、Groovyがそれらとは異なるのは「Javaのためのスクリプト言語」である点だ。さらに同氏によれば、Groovyの開発者たちは標準化に際して「Javaは単なる言語ではなく、複数の言語が共存する基盤となるプラットフォームである」という考えを示したという。

 alt.lang.jreコラムの第2回は、このGroovyについて取り上げる。まずは、「なぜまた新しい言語が必要か」という素朴な疑問に答え、続いてGroovyの卓越した能力についてコード例を交えながら概観しよう。

なぜまた新しい言語が必要か

 本コラムの第1回で説明したとおり、Java実行環境で動作するスクリプト言語や開発言語はGroovy以外にもいくつか存在する。例えばJythonやJRuby、Smalltalkなどがそうだ。そのため、「これらの言語とJavaを組み合わせれば迅速な開発が可能なのに、なぜまた新しい言語を学ぶ必要があるのだろうか」といぶかるITエンジニアも少なくないはずである。

 しかし、そうした心配は無用だ。Groovyがほかのスクリプト言語と異なる点は、Javaの文法や標準ライブラリをそのまま引き継いでいるため、新たな言語の習得が不要なことである。JythonやJRubyはそれぞれPythonとRubyの文法や機能をベースとしているが、Groovyは「さらに使いやすくなったJava」という感覚で使える。

 またJythonなどの言語は、ベースとなるスクリプト言語のライブラリに依存することが多い。一方Groovyでは、Java開発者におなじみのライブラリや機能を、そのままアジャイルな開発環境で利用できる。また以下のようなGroovyのメリットをもってすれば、「幅広いニーズに対応し、あらゆる応用が可能なコードの開発」というアジャイル開発の信条も十分に実践可能となる。

  • コンパイルが不要
  • 動的な型付けが可能
  • 文法上の制限を緩和
  • 通常のJavaアプリケーション内でGroovyスクリプトを実行可能
  • シェルインタプリタを提供

 こうしたメリットによって、Groovyは、Javaの初心者でもベテランでも極めて簡単に学習し利用できる言語となっている。以降のセクションでは、これらのメリットについてさらに詳しく解説したい。

1/4

 INDEX

Groovyに触ってみよう
Page1
なぜまた新しい言語が必要か
  Page2
javacが不要
動的型付けの威力
  Page3
文法は自由自在
  Page4
Groovyのその他の特徴

Java Solution全記事一覧





Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間