AURA MEDIA FIVE CO. 夢に近づくためにできることから始めてる。
エンジニアの独り言…
「Groovy」の紹介

『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

Last Update : 2004/10/20
 
Copyright (C) 2004 Media Five Co. - Tech All Rights Reserved.
BACK TOP HOME