濃縮還元オレンジニュース

Groovy 1.8リリース

2011年4月27日、JVM上で動作するプログラミング言語「Groovy」のバージョン1.8がリリースされました。2009年12月にバージョン1.7がリリースされて以来の大きなアップデートになります。

GroovyはJavaとの親和性が非常に高い軽量プログラミング言語で、Javaと比較して記述量を軽減できるため、Java言語の代替として海外を中心に利用されています。バージョン1.8にてアップデートされた主な内容は次のとおりです。

  • DSLDomain Specific Language:ドメイン特化言語)を促進するコマンドチェイン
  • パフォーマンスの向上
  • 並行処理ライブラリ「GPars」の同梱
  • JSON対応
  • 新たなAST変換Abstract Syntax Tree Transfer:抽象構文木変換。@Log、@Fieldなど)

内部DSLが記述しやすくなった改善により、リスト1のような自然文に近い表現で記述することができます。

Groovyベースで作られた有名プロダクトの一つに、フルスタックMVC(Model-View-Controller)フレームワークである「Grails」が挙げられます。GrailsはLinkedInの一部やWired.comなどに採用されています。JRubyやScalaなどの他JVM言語に比べてJavaとの文法の差異が小さいため、Javaをメインプログラミング言語にする技術者にとって敷居が低いです。筆者のように、初期の頃のGroovyに触れ、あまり良くない印象を持っている人にとっても、AST変換などさまざまな強力な機能が備わっており見直す価値があります。

リスト1 Groovyで書かれた内部DSL
// turn(left).then(right) と等価
turn left then right
// take(2.pills).of(chloroquinine).after(6.hours) と等価
take 2.pills of chloroquinine after 6.hours
// paint(wall).with(red, green).and(yellow) と等価
paint wall with red, green and yellow
// check(that: margarita).tastes(good) と等価
check that: margarita tastes good

URLhttp://groovy.codehaus.org/

おすすめ記事

記事・ニュース一覧