『Groovy』
すっかり肌寒く秋になってきました。
今回はJava開発者には非常に興味深い、新しいスクリプト言語「Groovy」をご紹介します。
「Groovy」はオープンソースのスクリプト言語として、James StrachanとBob mcWhirterによって
開発が行われ始めました。
このスクリプト言語「Groovy」がなぜJava開発者に注目を浴びてるかと言えば、
Javaの実行環境で動くこと、Javaのクラスを利用できること、Javaのバイトコード(.class)へと
コンパイルできることが挙げられます。
他にもSmalltalkやJRubyといったJava実行環境で動くスクリプト言語があるのですが、
Javaの文法や標準ライブラリをそのまま引き継いでいるために、Javaを習得した開発者が
新たに他の言語を選ぶよりも習得が容易であると言えます。
先に書いた通り、スクリプト言語なのでコンパイルをする必要がありません。
但し、インタプリタ実行には処理スピードの低下という代償が伴うため、
パフォーマンスが問われる用途には適しません。
(コンパイルしてバイトコードを生成することもできます)
また、Javaに比べてコード記述量が小さく済みます。
(動的型付けによるimport文の削減 etc...)
ざっと「Groovy」の特徴を挙げてみます。
<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
・動的型付け
→Javaのような型宣言を省略することができる。
JavaScriptなどにおいて、型宣言をせず変数が扱えるのと同じです。
・関数定義(def)
→defキーワードをも討ち入ることで、クラスの外で関数を定義することができる。
Groovyでは関数もオブジェクトとして参照扱いできる。
・クロージャ
→Java言語の匿名クラスにも似た機能で、パラメータを受け取ることができ、
それをメソッドに引数として渡すこともできる。
・レンジ
→Range(範囲オブジェクト)は".." と "..." (終了値を含まない)演算子を使用して生成
myRange = 1..3 (1〜3の値をもつリスト)
・Groovy JavaBeans
→プロパティを定義するだけでアクセサーメソッド(getter、setter)を自動生成する。
(これだけでもぐんとコード量が減る!)
・コレクション
・マップ
・イテレータ
<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
執筆時点でGroovyの最新バージョンは1.0Beta7であることからもわかるように、
いまだ成長過程にあるプロジェクトです。
しかし、2004年3月にはJSR(JavaSpecificationRequest)-241として認定され、
現在は標準化作業の初期段階です。
まだ先日の9月末日にJDK5.0(開発コード:Tiger)がリリースされたばかりで
気の早い話かもしれまんせんが、次のメジャーバージョンアップ時(開発コード:Mustang)には、
このGroovyがJavaの標準して組み込ませるかもしれません。
下記参考ページ(3.)にてセットアップの方法なども紹介されており、
簡単にGroovyを体験することができます。
スクリプト言語ならでは軽さを実感できますよ!
開発現場においてどのような威力を発揮しれくれるか、これから楽しみです。
[[ 参考URL]]
1.Groovy ウェブサイト
http://groovy.codehaus.org/
2.@IT連載 Groovyに触ってみよう
http://www.atmarkit.co.jp/fjava/rensai3/devworks05/devworks05_1.html
3.Groovy - Java用スクリプト言語
http://www.kakutani.com/trans/ociweb/jnbFeb2004.html