2009年11月23日 21:00 [Edit]

美は動機か結論か - #書評_ - ビューティフルアーキテクチャ

オライリーより献本御礼。

美しい。「ビューティフルコード」も美しい一冊だったが、本書も実に美しい。

と同時に、「美」についての立脚点が、これほどまでに異なるのかということに驚きもした。

美とは動機なのか結論なのか。両書を読むと、ぶつからずにはいられない設問である。


本書「ビューティフルアーキテクチャ」は、「ビューティフルコード」の続編にあたる一冊。ここでいう「アーキテクチャー」は建築一般ではなく、コンピューターの設計に関わるものではあるが、コンピューター関係者でなくともその美は鑑賞できるはず。

目次 - O'Reilly Japan - ビューティフルアーキテクチャより
目次
推薦のことば
訳者まえがき
序文 - Stephen J. Mellor
はじめに
第1部 アーキテクチャについて
1章 アーキテクチャとは何か? - John Klein/ David Weiss
2章 2つのシステム:今風ソフトウェア物語 - Pete Goodliffe
第2部 エンタプライズアーキテクチャ
3章 スケーラビリティのためのアーキテクチャ設計 - Jim Waldo
4章 メモリーを作る - Michael Nygard
5章 リソース指向アーキテクチャ:「Web上にある」こと - Brian Sletten
6章 データの成長:Facebookプラットフォームのアーキテクチャ - Dave Fetterman
第3部 システムアーキテクチャ
7章 Xenと仮想化の美 - Derek Murray/ Keir Fraser
8章 Guardian:フォルトトレラントなOS環境 - Greg Lehey
9章 JPC:ピュアJavaのx86 PCエミュレータ - Rhys Newman/ Christopher Dennis
10章 Jikes RVM:メタサーキュラーな仮想マシンの威力 - Ian Rogers/ Dave Grove
第4部 エンドユーザアプリケーションのアーキテクチャ
11章 GNU Emacs:漸進的機能追加方式が持つ力 - Jim Blandy
12章 バザールが伽藍の建築に乗り出す時 - Till Adam/ Mirko Boehm
第5部 プログラミング言語とアーキテクチャ
13章 ソフトウェアアーキテクチャ:オブジェクト指向対関数型 - Bertrand Meyer
14章 古典再読 - Panagiotis Louridas
あとがき - William J. Mitchell
著者・編者紹介
索引

それでは、アーキテクチャーにおける美とは一体なんだろうか。

結果、である。

現在、そして将来の要求を満たす結果として表れるのが、アーキテクチャーの美なのである。

これは、コードの美とは実は正反対でもある。コードにおける美というのはそれ自身が目標たりえる。ゆえに「美しくも使えない」コードというのは決して少なくない。Y Combinatorなどはその代表格だ。あれほど美しく、しかしその美しさを即戦的に使うことができないというものも珍しい。

しかし「美しいが使えない」というのも、アーキテクチャーという「背景」があってこそ成り立つ概念であり、そしてアーキテクチャーが変わることによって「美しいが使えない」が「美しくかつ使える」ものになることは少なくない。スクリプト言語の隆盛も、このこと抜きには語れない。

だからこそ、アーキテクチャーは美しくある前にまず強くなければならない。アーキテクチャーはコードの上位概念として捉えられがちで、それ故アーキテクトはコーダーよりも「えらい」という誤解はIT業界に限らず根強い。

しかし、アーキテクチャーはインフラストラクチャーでもある。「その上に乗る」という観点から見れば、アーキテクチャーはコードの「下位」(インフラ)概念でもある。

本書の方が前著よりも「実戦的」な理由は、そこにあるのだろう。

そのこともあってか、本書の方が前著より「使える」感が強い。実際本書に登場するアーキテクチャーは、全て理論でも理想でもなく実際に作られ、そして利用されてきたシステムについて解説されている。

アーキテクチャーにとって最も重要なのは、それがきちんと建てられ、立ち続けること。

美では、実はない。

しかし数々の挑戦に耐え残ったそれに、美しさを感ぜずにはいられないのはなぜだろう。

21世紀版 マーフィーの法則」 P. 320
要は誰が正しい(ライト)かではなく、誰が生き残った(レフト)かだ。
It's not who is right, it's who is left.

美しさとは正しさだろうか。

だとしたら、本書の美しさは、 right ではなく left である。

美味に留まらず栄養満点な美しさを、是非本書で味わってほしい。

Dan the Ordinary Architect


この記事へのトラックバックURL

この記事へのコメント
いわゆる、「用の美」というものですかね。
Posted by 結果を出せない奴 at 2009年11月24日 08:16
なにか、このエントリーの話は、ブラッセレータやオレゴネータのシュミレーションの話でも使えそうですね。

世界のすべての構造の基本がフラクタルだとは思わないけれど、極大のものと極小のものを連絡している各位階が入れ子状にできているっていう考え方は、ひどく説得力があると思います。

話は違いますが、「あいつ、嫌な奴だなあ」って思う奴って、自分ひとりにだけそうなんじゃなくて、誰に対してもそういう奴なんで、そういう奴は、力の背景を失えば、誰も相手にしなくなる奴なんだと思います。そう考えると、誰か強くて嫌な奴が自分を簡単につまみつぶせるかというとそんなこともなくて、恫喝というのは、たいてい心理的効果しかないから(実力行使というのはなかなかできないものだから)、他人の言うことはあまり生真面目に真に受けるべきではないということになります。そんなわけで、また、「ものごと何でも額面通り受け取るな」の話に戻ってしまいました。いや、この話は大切な話だと思うんです。もちろん、「いつも、なにごとも馬鹿にせず、油断するな」という教訓と対の話です。
Posted by enneagram at 2009年11月24日 09:33
>と同時に、「美」についての立脚点が、これほどまでに異なるのかということに驚きもした。

可読性(見た目の美しさ)と実用性(機能美)で重みを置くべき比率が相当にことなるということですね。
ソースコードで前者の比率を上げても、バグにならなければよほど効率の悪いものでもないかぎり問題視されませんから。
Posted by 浦川 真一 at 2009年11月25日 21:06
はじめまして 弾さん。

この書評、ブラボー
Posted by kuma at 2009年11月28日 19:26