Rails によるアジャイル Web アプリケーション開発


RailsによるアジャイルWebアプリケーション開発
(原題: Agile Web Development with Rails)


なんともすさまじい本があったものである。私は、完膚なきまでに叩き潰されてしまった。著者は、「プログラミング Ruby」の Dave Thomas に Rails を開発した David Heinemeier Hansson。"Ruby" on "Rails" の解説本の著者としては、世界最強コンビであることは、異議があるまい。


この本の恐ろしいところは、Ruby on Rails を解説するように見せかけて、さまざまな開発手法の哲学を語っていることである。Rails の特徴としてよく語られるところの、

  1. DRY (Don't Repeat Yourself) - 同じコードを繰り返さない
  2. Convention over Configuration - 設定より規約を
  3. DSLドメイン特化言語)の感触

をどう実践していくか、サンプルアプリケーションの作成を通じて、具体的に明らかにしていく。このサンプルアプリケーションの作成がそのまま、架空の顧客との対話からアプリケーションが生み出されていくアジャイル開発の手本にもなっている。そういう意味で Rails の思想とアジャイル開発の思想が重なりあって、なんともいえない深い味わいを生み出している。


このような巨大な本が存在する Ruby on Rails の分野で類書を書こうとする人々は相当のプレッシャーであろう。この本は、Ruby on Rails を学ぶ上での必読書である。


Dave Thomas の技術に対する深い造詣と明晰なテクニカルライティングは感動的である。それにしても、David Heinemeier Hansson だ。彼のブログを読むと、ごく普通の27歳の青年であることがわかる。しかし、彼が25歳のときに書いた Railsソースコード、それはあまりに奥深く精緻で美しい。彼は、コペンハーゲンの大学でビジネス・アドミニストレーションとコンピュータサイエンスを学んだ。彼のマーケティング上手からしても、もともとビジネス寄りのことに興味のある人なのではないか。そんな彼の姿は、奇しくも、先日言及した「分裂勘違い君劇場 - 現代という時代は、どのようなプログラミングを求めているのか?」で述べられている「経営者となったプログラマ」そのものではないか。彼が CNNの「ビジネス2.0: 50人の重要人物」という特集で34位にランクインしているのもこれと符合している。


正直、私はすっかり落ち込んでしまった。
David Hansson の考えたようなことは昔から私もやろうと試みてきた。O/R Mapping とかね。しかし、彼の解決方法のエレガントさたるや、半端じゃないのだ。完敗だ。私に、いったい何ができるだろう・・・。そんな私に語りかけるように、David は彼自身のブログの最新記事 "Deal critically with criticism to protect motivation" で次のように述べていた。

...
"A show is one-way communication. I show them what a pearl I've created. How polished it has become. Then they shouldn't come up and expect a diamond. I can show them that this is THE PEARL. Perhaps it'll come in other colors, too. But regardless, this is a pearl."

I love that.

...

So if you have to choose, at least in the short term, I hope you pick to shield rather than to run. Mark your work a pearl, reject requests for diamonds. I desire your creation more than I care for the privilege to criticize it.


そうだね・・。僕の才能は、所詮は pearl にすぎないけど、何とかそれを守ることにするよ。逃げ出さないでさ。