G*ワークショップ in 仙台
スライド集:
「はじめてのGroovy」
「Grails(とことん)入門」
「Grailsでシステム構築」
「Groovyではじめるアレやコレや」
2年前に抱いてた疑問
と思ってて、ずっとノーマークだったのですが、実際は開発もコミュニティも活発に見えて、その理由が知りたいと思っていました。そのあたりの疑問を解決するために参加しました。
どちらかといえば「アンチGroovy」の立場で、時間があればもろもろ意地悪な質問ぶつけてみようかと思っていました。
しかしそういった疑問は、みなさんのプレゼンを拝見してすぐ解決しました。
■第1には、GroovyはJava言語の拡張である点。Javaの構文がそのまま動く。LL的なコードが書きたいと思ったとき、わざわざJavaを捨てる必要がない。この点は、JRubyであってもScalaであっても真似できないところです。
JavaScriptとProtoype.js(など)の関係に似ている。今やJSライブラリ無しでJSを書こうなんていう人はいないと思うけど、Prototypeではうまくいかないところは躊躇なく生JSを書けばよい。GroovyとJavaの関係はそういう感じ(かも)。
■第2には、ユーティリティがすばらしく充実している点。AntBuilderやGDKなど「こういうの欲しいよね」がしっかりそろっている。特にAntBuilderは素敵だと思った、これだけのためにGroovy使ってもいい(masanobuimaiのスライド参照)。
言語として学ぶよりも、レシピ集をコピペして便利さを実感していくタイプの言語ではなかろうか。
とにかく、Javaを第1言語に使っていて、RubyやScala気になってるけど、むーん・・と躊躇している人は、まずGroovyやるといいと思いました。そのままGroovy使い続けるもよし、段階的に他のメジャーなLLに移行するもよし。
リスクにうるさくなりがちなJavaユーザーにとって、学習過程にリスクがないというのは抜群に魅力的なのでは。
Grailsの利点は、正直まだ自分には判断できなかった。
Rails的なシステム開発をしたければ、学習コストの面ではいろんな意味(ドキュメント等の環境含む)でJRuby on Railsを使っちゃった方がいいと思うし、Javaを全面採用したければPlay Frameworkがある。
とはいえ、AntBuilderなどの環境構築、GDKなどのユーティリティ、Spring/Hibernateを統合したうえ、LLのようにサラっと作れる。。とか想像すると、Java資産の糊付けフレームワークとして、かなり便利かもしれない。
Groovy/Grailsは言語云々ではなく、プロジェクトの統合環境としては評価されるべきなのでしょう(石川さんのスライドにその一端が見える)。
自分はJavaからRubyにきて、パフォーマンス欲しいところではJavaに戻ったりScalaを採用したりしてきたクチですが、チームなどの環境によってはGrails採用は全然アリだと思いました。
期せずして盃を交わしてしまったの図

で、本当にいただいてしまいました。
訳者陣によるサインつきの豪華版。
ありがとうございます、ありがとうございます!