酔眼漂流読書日記

本と音楽と酒場と言葉

JavaからRubyへ ―マネージャのための実践移行ガイド

JavaからRubyへ ―マネージャのための実践移行ガイド

JavaからRubyへ ―マネージャのための実践移行ガイド

既に色々な場所で話題になっていますが、Ruby を本格的に採用したいと思っているマネージャー、リーダーにその導入戦略を授けるといった位置付けの本です。特に「Java 疲れ」の方々にお勧めですね(笑)。
ただ一歩下がった目で読むと、決して Ruby だけに限定された話ではなく、「優れた新技術」を導入したいと思っている場合に必要な考慮点がカバーされていることがわかります。
とはいえ、もう少しだけ意地悪な見かたをすれば、本書の内容が一番有効に適用できるのは、「もう少しでブレークすることは『確実』なので、一歩でも早く他者に先んじて導入すればきわめて有利になる技術をいかに上司を口説いて採用させるか」に対してだと思われます。つまり真に「筋の良い技術」であることが必要条件です。
もちろん RubyRuby on Rails というキラーフレームワークを手に入れています。このフレームワークを正しい問題コンテキストに埋め込んだ際の生産性が「破壊的に高い」おかげで、たぶん Ruby は十分にその準備が整ってきているのだと思います。
ページ数も少ないので気軽に読めると思います*1

本書の著者も繰り返し指摘している通り、Ruby の現在の成功を裏付けた要因は煎じ詰めれば結局「生産性」の高さということになろうかと思います。生産性というと何だか散文的な表現ですが、Ruby の持つ、プログラムを書く気にさせる魅力も、大抵のプログラムがほぼ一発で動く書きやすさも、最後は生産性の高さとして現れて来ます。私自身 Ruby を様々な仕事の局面で使ってきましたが、単純にアプリケーションを作るだけでなく、最終的には JavaC++ で実装するフレームワークの「動く仕様書」としても使ったりしてきました。

これはよその場所にも書いたのですが、私個人の経験による生産性の違いを考えると

Ruby : Java : C++ = 20 : 5 : 1

位の感覚があります。これはちょっとしたアイデアを設計実装して試そうと思った場合、Ruby だと1日で済む仕事が Java だと1週間、C++ だと1ヶ月かかることを意味します。単純な計算に過ぎませんが、プロジェクトが3ヶ月だとして3回のイテレーションと、60回のイテレーションではそのシステムの出来上がりの精度(利用者の要求に対する)に大きな差が出ることは確実です。

*1:業務連絡:これも課題図書です(笑)