RubyKaigi 2日目とエンタープライズ Rubyについて
2日目も遅刻しないで着いた。 詳細は速報ログにお任せで、印象に残ったところだけ。
- 午前中のセッションは「お仕事Ruby」について。
- 開始直後は1日目よりも人がだいぶ少ない。
- 前日の懇親会が盛り上がったのかな。
JRuby on Rails でエンタープライズ Ruby
- 「Java のインタフェースを Ruby で実装する。 DSL として使えばいいんじゃね?」
- これは説得力あった。すぐにでも実用になりそう。
- Sun は JRuby を JavaVM 上で動く 1st Language として位置づけ。
- Rails のセンスは割り切り。Enterprise Rails として色々な機能を取り込むと Rails らしくないのでは。
- これは重要な指摘。同じようなことを考えていたので、すごく納得した。
- 機能を取り込むのではなく、 Java の資産を糊として使う。
AP4R : Ruby のための非同期メッセージングライブラリ
- 「まじろう」の人気に嫉妬。
モテる Ruby!Ruby で画像編集のあの手この手
- ささださんの人気に嫉妬。VMを書くとモテるらしい。
Island Ruby, or How To Survive Invasions, Immigrants, and Cultural Attacks
達人プログラマーな Dave Thomas さんによるプレゼン。 今回、一番楽しみにしていた内容。 この目の付け所は流石だと思う。
この穏やかな土地に突然大量の人々がやってきました。彼らは、ここが元々どのような土地だったのかを理解している人達ばかりではありません。大音量で音楽をかけ、どなりちらし、ゴミを巻き散らし、私たちが今まで守ってきたペースよりも早く事を起こそうとしています。
これは良いことなのでしょうか。悪いことなのでしょうか。あるいは、避けられない変化なのでしょうか。現代において、島国のままであり続けることは不可能なのでしょうか。本講演ではこの問題について論じ、ありうべき未来について展望を述べます。
- 結論は Yes 。
- でも悲観的じゃない。
- 素晴らしいコミュニティがあるから乗り越えられるよ。
- 最後に会場の写真がスライドショーで流れる。
Enterprise Ruby について疑問に思っていることがあったので、勇気を出して質問してみた。 質問とその答えは速報ログから引用。
Q: Rubyの良さはagileであることとあったが、エンタープライズはagileではない。どちらが変化していくのか?
A: よい質問です。日本でどうなっているのかはわからないのでアメリカの例を。アメリカでは企業レベルではまだagileは主流ではないが、エンジニアたちはヒミツでagilieになりつつある。かしこい企業は実験チームを作っている。RubyやRailsについても同じこと。小さいチームで試しはじめている。一度に変化させることはできなに。日本でもインドでも開発者のいるところでは同じだろう。ユーザーがこれが良いやりかただとわかっているなら企業にそう知らせるべきだ。最終的には企業が変わると思う。
めっちゃ緊張したけど、質問して本当に良かった。 よい質問って言ってもらえたので、的外れな内容じゃなかったんだろう。 翻訳していただいたスタッフの方にも感謝です。
エンタープライズ Ruby についての雑感
ここからは個人的な感想。 1年前に比べて Ruby を仕事で使う人が急速に増えていることに驚いた。 でも、本当にエンタープライズ領域で使われるには、まだ壁があると思っている。
- Ruby は Agile 。自由度が高くてプログラマーが主役。
- 優秀なプログラマーを集めて、少数精鋭でやると強い。
- しかし、案件の量と規模が増えると、少数精鋭で対応できる限界を超える。
- 少数精鋭の手法がそのままスケールするとは限らない。
そう考えていたから、Cより速いRubyプログラムでの前半部分の主張には興味がある。
業界の主役はまだしばらくはJava
Javaが高速だとか静的型チェックがどうだとかよりJavaがお金になるからという理由で
ちょうどいいくらいに複雑。単価が高くておいしい言語
スクリプト言語で喜ぶのは顧客と一部の開発者。既得権益を持つ人(SIerとか)はJavaがいい。主役はJavaのまま
スクリプト言語が主役になるときは産業構造が変わるとき
最後の一文には同意だけど、それ以外のはまだ良く分からない。 個人的には SIer が Java を使うのは、お金になるからじゃなくて他の言語よりもリスクが低いからだと思ってる。 規模が小さなシステムであれば、スクリプト言語を使うことでコストは下がるだろうけど、ある程度の大きさになった場合に、「ベンチャー企業」や「内製のユーザ企業」で全て対応できるかどうかは分からない。 やっぱりスケーラビリティの話になっちゃうんだね。
- ベンチャー&内製視点 … agile な開発手法を活かしたままで、大規模システムに適用するにはどうすればいいのか。(あるいはそもそも適用すべきでないのか)
- SIer 視点 … リスクを増やさずに新しい手法を取り入れるにはどうすればいいか。
ちょっと前に書いたRuby とエンタープライズに対する、角谷さんのブクマでこんな指摘があった。
個人的には"大規模"の定義を問い直すのが「エンタープライズRuby」だと思ってる。
未だにこの答えは出せていない。
RubyKaigiのすごいところ
閉会した後に Dave さんの所にありがとうを言いに行った。 冷静になって思えば、ただ Ruby の話を聞けるだけじゃなくて、こんなに有名な人たちと普通に話す機会が得られて、これで参加費が 2500円/日なんだから、こんなに良いイベントは無いと思った。 本当にスタッフの皆様に感謝。お疲れ様でした。