Groovy

遅ればせながら、JavaVM上で動くスクリプト言語Groovyを触ってみました。言語仕様はPythonとよく似ていて、Java + Pythonといったおもむきです。それならJythonでもいいじゃないか、というかんじなんですが、JythonよりもJavaVMの機能を生かした作りになっているようです。

Javaバイトコードへのコンパイラが付いているので、Groovyで書かれたクラスはJavaプログラムから呼び出すことができ、逆にJavaのクラスもGroovyから使うことができます。Jythonでもできるにはできるんですが、ちょっとPython的な部分が入っちゃっていて、めんどくさいんですね。Groovyの使用例として開発チームが挙げているのが、JavaプログラムのユニットテストをGroovyで書く、ということ。ユニットテストのコードって、短いものを大量に書かないといけないので、スクリプト言語として簡単に書けるのは良いかもしれません。

あとはJavaよりも習得までの時間が短くて済みそうなのが良いですね。もうちょっと調査してからですが、初めてコンピュータ言語を学ぶ人には僕はこれからはPythonよりGroovyをお薦めするようになるかもしれません。ただ難点は、エラーメッセージがJava並みに長いこと。対話シェル(groovysh)上では短く表示されるのでいいんですが、非対話実行(groovy hoge.groovy)をすると、JavaVM標準のエラーメッセージが出るので、初心者は面食らってしまうかもしれません。