- 作者: 関将俊
- 出版社/メーカー: オーム社
- 発売日: 2005/07
- メディア: 単行本
- 購入: 1人 クリック: 41回
- この商品を含むブログ (141件) を見る
さて、この「dRubyによる分散・Webプログラミング」はとてもお得な本です。タイトルの「dRuby による…」を見て「Ruby の本?関係ないや」と思ったアナタしばしお待ちを。この本は実は日本では(世界的にも)類を見ないほど簡潔に書かれた「分散プログラミング」の解説書なのです。
分散オブジェクトプログラミングの解説は、通常概念的な文章に留まるか、あるいはとても複雑なライブラリプログラミングのジャングルに踏み込むかのどちらかで、初学者が学ぶにはあまり適切な学習教材がありませんでした。
しかし、この本は Ruby という非常に強力なプログラミング言語を使うことによって、解説された様々な概念を、簡潔な「動く」プログラムとして提示することに成功しています。このことから、本書を「手を動かしながら」読むだけで、分散システムのエッセンスに対する理解が深まり、自分で分散システムを設計しようと考える際のセンスが磨かれる仕掛けになっています。
分散システムの設計においては、オブジェクトの複製をどの時点でどのような方針に従って行うか、並列性をどのように配置するか、GCとどのように付き合うべきかが使い勝手と性能に影響します。この本は簡単な動くサンプルを使って様々な実験をするためのきっかけを与えてくれます。
新しい物好きの技術者なら既に AJAX といったキーワードに代表される非同期分散処理の仕掛けを耳にしたことがあるでしょう。しかしこうしたシステムを適切に設計するにも分散オブジェクト設計のセンスが必要とされるので、本書の内容を理解しておくことは決して損にはなりません。
あと、面白いのが分散処理システム Linda のモデルを受け継いだ、共有タプルスペース操作系 Rinda (Ruby による Linda モデルの実装)によるプロセス協調の話が含まれていることです。この協調モデルに通じることができれば、Ruby を実装した異なるアーキテクチャの計算機同士に透過的に仕事を分散させて問題を協調して解決していくようなシステムを組むことができます*1。
ということで本書の内容を初学者がきちんと学べば、所謂アーキテクトになるための一歩を踏み出すきっかけにもなることでしょう。多くのソフトウェアエンジニアの方々へ、夏休みの一冊としてもお勧めしておきたいと思います。