uehaj's blog

Grな日々 - GroovyとかGrailsとかElmとかRustとかHaskellとかReactとかFregeとかJavaとか -

Groovy勘所ガイド

昨日、JGGUG名古屋支部主催「第3回 Grails/Groovy勉強会 in 名古屋」でお話しをさせていただきました。JGGUG名古屋の皆さま、参加者の皆様、場所を提供いただいたニューキャストの皆様、機会をいただき大変ありがとうございました。懇親会ちょっとしか出られずに済みませんでした。ごちそうさまでした。大変盛況でびっくりです。横浜の少ないときより人数は確実に多いですね。

以下、発表資料をさらしておきます。今回実験的な試みとして、Google Web Consoleの別インスタンスをappengine上に立ち上げて、説明用コードを実際に動かしながらデモするということをやってみました。PCを持ち込んだ参加者の人は、その場で話を聞きながらその場で確認したり、変更して試したりしながら聞ける、という趣向だったのですがいかがでしたでしょうか。以下のSlideshareドキュメント中にも、「」のリンクをクリックすることで対応するコードにジャンプできるようにしておきました。
なおこのJGGUG版のGroovy Web Consoleインスタンスは、今後も試していただいたり、どんどん投稿してかまいませんのでつかってくださいませ。本家英語版だと英語なので、なかなか投稿しにくいですが、こっちは動かなくても低レベルでも何でもオッケーです。

発表で言いたかったことをまとめておきます。

GroovyはJavaと文法的にほぼ上位互換なので、Javaプログラマが理解しやすいよ、ということが良く言われます。それは間違いではないのですが、ただJavaの範囲だけで使っていてはGroovyを使う意味が無いのも明らかです。Groovyを使いこなすためには、結局Groovy特有の機能を学習する必要があるのです。

とはいうものの、本当に覚えなければならない事っていうのは実は多くはないのでないか?そこを集中的に学ぶと、Javaプログラマにとって最小の労力で最大限の効果が得られるのではないか?ということを今回提唱してみました。つまり「Groovy特有で頻出かつ便利な機能」ということですが、それを今回「勘所」と呼び、案として絞り込んで紹介してみました。Groovyには他にも特殊目的の便利な機能(XmlSlurperとか)がものすごく大量にあるわけですが、そういうのをあえて除き、私の主観として厳選した情報に絞り込んでみました。

いや違う、などコメントなどいただけますとありがたく。