JavaプログラマーのためのGroovyの勉強方法

Javaに関する知識は豊富だけど、ここらで1つスクリプト言語を勉強してみたい…。そんな人にはGroovyがオススメ。前回の記事から約1ヶ月が経ち、その間にGroovyを使って実際のプロジェクトで活用するための幾つかツールを作り上げることが出来た。まだまだGroovyに関しての知識は不足していてこれからも知識を補充していく必要は大いにあるけど、現時点までの知識を元に、Javaプログラマーがどのようにしたら効率良くGroovyを学べるか…を以下にまとめたいと思う。読んだらわかると思うけど、超普通のことしか書いてないです。前提として、Javaの経験があって普段はEclipseJavaを開発している人向けです。

事前準備

  1. Groovyを本家からダウンロード・インストールする。
  2. GroovyのEclipse Plug-inをインストールする(Eclipse以外にもGroovyが効率良く書けるIDEがあるのかも知れないけど、自分は普段Eclipse使っているので)。
  3. CodenarcのEclipse Plug-inをインストールする。これはJavaでいうFind-Bugsのようなもの。

学習手順

  1. 本家のHPのチュートリアルにざっと目を通す。完全に理解できなくても構わない。Groovyの基本的な考え方や構文等に関して理解出来るところだけをとりあえず理解しておくだけでOK。RubyPythonなどのスクリプト言語をすでに知っている方であればこの工程は驚くほど簡単に終わる。もちろんサンプルコードを自分で実際にタイプして実行することが重要。この時点でGroovy的プログラミングを完全に理解できなくても良い…というのは、Javaを知っている人であればGroovy的な書き方をしなくてもJava的な書き方でとりあえず動くコードを書くことができるから。ここがGroovyを使う上での大きなポイント。最初から完璧なGroovy使いを目指すよりも、中途半端でも実用的で動くコードを書けるほうが楽しいし実利があると個人的には思うんです。
  2. 実際にGroovyを使ったプログラムを書いてみる。
    1. Groovyのコードをイキナリ実際自分が働いているプロジェクトの製品に組み込むとなると社内の政治的な問題もあって色々と厳しいと思うので、プロジェクト内部で役に立つような簡単なツールを書くのが良いと思う。例えばログを解析するツールなど。自分はJMSのメッセージQueueの中身を簡単に表示するGUIアプリを作った。今現在、Javaを使ったプロジェクトに関わっているのであれば、Groovyでツールを作っても他のJava開発者が比較的容易に理解・保守しやすいと思う。
    2. 分からないこと、または「こういうロジックってJavaで書くとめんどくさいんだよなー」と感じる場面に出くわしたら、Webを検索してGroovy的にどのようにスマートに問題を解決できるかを調べる。最初はJava的に書いておいて後で気になる部分についてGroovy的な書き方を調べるでもOK。
    3. Codenarcのチェックを有効にして、チェック内容に従ってコードを直す。CodenarcはGroovy的な書き方をしてないコードをチェックしてくれるので、チェックを有効にして指示に従うことにより自然とGroovyの作法を学ぶことが出来る。指摘されている内容が不明でどのように直したらよいかわからない際はWebで即検索。なぜそういう書き方が推奨されれているかを理解しながら進める。

後はひたすらプログラムを書いて覚える。JavaプログラマがGroovyを学ぶ際の最大の利点は、先ほども書いたとおり「いざとなったらJavaでコードを書くことが出来る」ことだと思う。これがあるから安心してGroovyの世界に飛び込める。構文もJavaに似ているところが多々あるので敷居が非常に低い。JavaプログラマでまだGroovyを使用することに抵抗がある人もいるかと思うけど、安心してGroovyの世界に飛び込んで欲しいと思います。


注:自分はGroovyの本は全く使用せずにWebにある情報だけでGroovyに関する知識を仕入れているけど、正直ほかのメジャー言語に比べてGroovyの情報は少ないと感じる。でも実際問題そんなに困るシーンは今のところないけどね(Groovyに関する日本語の情報はどの程度Web上に存在するかは不明。自分の場合はほとんど英語のサイトから情報を引っ張ってきてます)。

Groovyイン・アクション

Groovyイン・アクション

プログラミングGROOVY

プログラミングGROOVY