フルーツゼリー風プログラミング

K藤氏のメールに出てきたBigtableの論文の斜め読みを終える.確かにまさにこれは欲しい機能である.こういうものを,しっかり目的志向で作ってくるのがG社の凄さだと思う.(どこかの国も,いきなり画像検索と騒ぐよりは,まず足下をしっかり固めた方がよいと思うのは,私の間違いか?)

ついでに「まるごとPerl!」も斜め読みしたのだが,これらから感じたのは,現在のプログラミングがかなり大きな質的変遷を受けているということ.

つまり,昔のようにかっちり作り上げるのではなく,ある種のかちっとしたコードやAPIがすでに存在し,それらを柔軟に組み合わせることでシステムを素早く構築すること.これは,フルーツゼリーを作ることに例えられるかもしれない.つまり,すでに存在しエージングされたAPIやライブラリ(フルーツ)をフレームワーク(型)を使って柔軟につなぎ合わせていく(ゼリー)のであろう.このようにすれば,たとえば別な型に取り替えて,別の形のゼリーを作るのは簡単である.

いろいろ見ていると,このような開発スタイルは,はてなのようにオープンソースの汎用のコードを元に作り上げていくタイプと,G社のように目的志向のベースシステムを作り上げていくタイプの二つに分けられるようだ.

ただ我が社は,このような時流に乗り遅れている感じがある…というのは,開発を丸ごと外注したり,互いに比較的独立に進むことが多く,その間のプログラムモジュールの共有が行われにくいからだと思う.今まで,社内で機会があれば開発体制の整備とデータ・コードの共有化の必要性を訴えてきたが,我が社の研究所では重要だと共感してくれた人はいない(自分でコードを書くような人が特に上層部に少ないからかもしれない).ただし,このような場合でも,Webサービス用のAPIという切り口は用意できる.

将来的に,それぞれがどのように発展・淘汰するのか,非常に興味深い.