RubyKaigi2008 0th day
遂にやってまいりました。RubyKaigi2008開幕である。
初日は午後開始で半日だけ、ということでプロローグといった趣である。技術評論社がまさに稲妻のごとき速さでレポートをアップしているのだが、そんなことお構いなしに俺もレポートを書く。
対談『まつもとゆきひろ×最首英裕』〜Rubyを仕事に2008〜
Rubyをビジネスでうまく使っていくにはどうすればいいの?というテーマで、RubyのパパであるMatz氏と、実際に自分の会社でRubyを仕事に使っているRubyビジネスコモンズの最首氏が対談する、というもの。
いろいろな話が出たが、おおざっぱに次の三点にまとめられると思う。
その1。Rubyをビジネスでつかっていくことは可能である、ということ。最首氏の会社はもともとJava一筋であったが、3年前からRubyを導入し始め、今は利益も上げられているという。この後のスポンサーによる事例紹介でも、そうした報告があがっていた。もはやRubyは趣味人たちのおもちゃという立場に閉じこもっていない。
その2。Rubyに対する否定的評価の多くは不適当なものである、ということ。「Rubyは遅い」「なんとなくJavaの方が信頼できそう」という意見がよく聞かれるわけだが、これらはRubyを拒絶する理由として決定的とはいえない。遅いと言っても、我々が利用する範囲で困らないだけの速度が出ればよいのであって、滅多に使わない複雑な数学計算が遅かろうとたいした問題ではない。それに、ボトルネックの多くはRubyがというよりDBの最適化不足などインフラ周りであることが多いという。Rubyをとにかく拒絶する人々の多くは、Rubyがよくわからないからこその不安感でなんとなく拒絶してしまっているだけで、ちゃんとした評価と分析を行えばRubyが十分にビジネス分野で実用に足るパフォーマンスを持っていることを理解してもらえるのではないか。
その3。Rubyを技術者コミュニティに閉じこめているだけじゃだめだ、という話。ビジネスで使っていこうと思えば、ビジネス界にアピールしないといけない。しかし、今のところRubyの魅力は技術者コミュニティ向けの言葉にはなっているが、それとは違う言語が飛び交うビジネス界では通じない。Rubyの可能性をそこで殺すのはもったいないことで、ビジネス-コミュニティ間を繋ぐ取り組みが必要である。技術者からは不評な認定試験制度も、そうした取り組みの一環。ビジネス界ではそういった指標が必要とされる。
6/21追記 Rubyは10年前のJava − @ITによくまとめられている。詳しくはそちらを参照のこと。
Ruby技術者認定試験について
CTCによる、Ruby技術者認定試験の紹介。なんでそんな試験が必要なのか、という説明に加えて、類似問題も提示された。いくつか妙な引っかけ問題があったが、とりあえず抑えるべきところは抑えている感じがした。例えば、0がfalse扱いにならない*1ところなんか、C言語プログラマはハマリそうだ。まあRubyをふつうに勉強していればとりあえず合格できそうなレベルではあったと思う。
ついに登場!Ruby / Railsの統合開発環境「3rdRail日本語版」のご紹介
ここからスポンサーセッション。最初は、CodeGear社によるRuby on Rails開発用IDE "3rdRail"の紹介である。
Rails用IDEというとNetBeansやAptanaがあるわけだが、3rdRailはRailsのコマンドライン操作をそのままIDE内で使用できるところがすばらしい。プロジェクト・コマンダーという機能なのだが、当然のように充実したヘルパー機能付き。ほかにもリファクタリングやモジュール間の関連の表示など、動的型言語相手では実装が難しかったであろう多彩なサポート機能がすばらしい。いいねぇ、興味深いねぇ。
しかし、途中でいきなり3rdRailが落っこちたのには笑った。そういうことはあるよね。
SunではじめるエンタープライズRubyの世界
みんなRubyやRailsっていうと、開発・動作環境はLinuxだと思っているだろうが、Solarisのほうがすばらしいんだよ!Sunのプラットフォームはすごいんだ!Railsで作られているTwitterのパフォーマンス最適化だってSunが噛んでるんだぜ、というアピール。
JRuby on RailsをSolaris上で動かしてGlassfishもつかっちゃうぜ、当然サーバはSun Serverだ!ときたもんだ!ずっとSunのターン!
エンタープライズRubyと Linuxブームのちがい
いまでこそエンタープライズでも使われているLinuxだが、使われ始めた当初はトラブルを頻発させるひどいものだった。それが現在の隆盛を築くようになった理由は、次のようなものがある。
- メーカの積極的な関与
- とにかく運用できるようにしなきゃいけないから、メーカのエンジニアががんばった
- メディアが取り上げた
- Windowsの対抗馬としてよくLinuxを取り上げたので、なんかすごいらしい、というイメージができた。それこそ経営者のようなエンジニア以外の人がLinuxってどんな感じ?と気にしはじめるほどに。
- 資格制度が作られた
- わかりやすい肩書きというのは、意外と企業に訴えるものがあるらしく、これで企業への認知度があがった
Rubyもエンタープライズに使っていこうと思えば、こうした要素を加えなければならないのではないか。認定試験もそうしたビジョンから生まれた取り組みの一つである。
Ruby技術者認定試験の実施理由について、もっとも納得できた感じがする。
ふつうのシステム開発〜Rubyとアジャイルで実現するゆるふわドンピシャ愛されシステム開発
Rubyとアジャイルで開発してきた自分たちを振り返ってみたら、自分たちのやってきたことはきわめてふつうのシステム開発だった。
ふつうのシステム開発とはつまり、お客様に投資効果をもたらす、ちゃんと動くシステムの開発。"ゆるふわ"なお客様のニーズをインクリメンタルに固めていき、本当にお客様が望んでいた製品を"ドンピシャ"で提供するシステム開発。それを実現するために、プロセスは自然とアジャイル化する。
取り入れるとなんかすごいらしい、という印象が先行するアジャイルプロセスだが、実のところすごいのでもなんでもなく、そうするのが当たり前なのだ、という気づきについての話だった。
そしてRubyは、テストしやすく、オートメーション化もたやすい。この性質がアジャイルプロセスとよくマッチするのだ。
このプレゼンテーションの資料はさっそく公開されている。
「Ruby×Agileによる社内SNS構築事例〜オープンソースへの道〜」
Ruby on Railsで開発した社内SNSをオープンソース化する取り組みについての紹介。大企業内で実現しようとしたため、折衝先が多く、理解を得て実現までもっていくまでには長い道のりがあったらしい。
最初は二人だけのチームから始まり、それが徐々に大きくなっていったのだそうだ。始める理由はいくつもあるが、一番大きいのは「会社を変えたい」という気持ち。人を巻き込んで会社を変えていくためには情熱と仲間が必要であったという。
Ruby,Railsによる「ふつう」なポータルサイトのつくり方!
@niftyによる、Ruby on Railsを用いた開発事例の紹介。@niftyが管理している数多くのサイトを低コストで管理できるようにするためのアプリケーションを開発したそうだ。さらに、そのために作ったRailsのプラグインをオープンソースとして公開する予定があるという。
今後もRailsによるサービスの開発は続けていくそうなので、来年あたりまた新しい事例を聞くことができるかな?
Rubyサイコー episode-II
RubyKaigi2007で「Rubyサイコー!!!」とRuby愛をアピールしていた楽天であるが、それからもRubyによる開発は続けており、その経験から結論づけると、やっぱり「Rubyサイコー!!!」であるようだ。もっとも、Matzを招聘し共同開発体制を築いている楽天であっても、Railsを導入するケースはまだ少数派であるらしい。
あとは、Matzと共同で大規模分散環境の研究をしているよ、という紹介。
内外コミュニティ紹介 〜コミュニティが育てるRuby、コミュニティを育てるRuby〜
日本国内、国外のRubyコミュニティを紹介し、それらの代表者にインタビューをするというものだったのだが…すまん、Golfコンペに向けた開発に熱中していてあまり聞いていなかった(汗)
日本国内と国外のコミュニティを比べると、国内は草の根的な取り組みは得意だが、ビジネスに結びつけるのは苦手。その点は国外のコミュニティに学んだ方がよい、といったことをMatzが言っていた気がする。確かに、日本のエンジニアは、お金どうこうというより、技術を極められればそれで、という指向が強いかもしれない。
前夜祭
自分たちで飲食物を持ち込んで騒ぐ、というこれまでにない試みだったのだが、睡眠不足で疲れていたので参加せずに引き上げてしまった。Golfコンペの結果は気になったんだけどねー。