Software Patterns:
 East Meets West

What is a “software pattern”?

The Software Pattern Community

What is a pattern?

Alexander’s Inspirations

Feng Shui

The “Quality Without a Name”

TTC1

Generativity

TTC 3

Property is Theft

TTC 8, 53

TTC 11

Positive Space (A Pattern Language, p. 518)

スライド15

TTC 11

Half-Object plus Protocol

Building with Generativity

The Western Way

A pattern style of development

An illustration:  FRESH WORK BEFORE STALE

Things I hear about Japan

Patterns are just The Gate

The state of the practice

スライド25

References

 
 


 

 Alexander は、私たちへのスピーチを次のように続けました。これは、私たちだけではなく、皆さんへのメッセージでもあります。
    これに関する私のコメントですか?
    あらかじめお詫びしておきましょう。
    単刀直入なところを遠慮なく申し上げさせていただきます。
    私には、皆さんのプログラミングの捕らえ方が技術的で、
    まるで喜んで「貸出用の銃」になろうとしているように思えるのです。
    言い換えると、皆さんはそのようなテクニシャンだと。
    プログラムの動かし方は良くご存知でしょう。
    「何をしたらいいの、パパ、その通りにするから。」
    これでは、リンゴの中の虫のようなものではないですか。
    ここで私が提案していることは、そういうものとは少し違うのです。
    私がお伝えしたのは、生き物の世界の中に存在する自然な遺伝的基盤として
    プログラミングを見るというものです。
    そして、その世界に対して、皆さんや私たちは、
    生成し、管理し、利用する能力を持っているのです。
    このような視点に立つことができたならば、
    私たちの町の、家の、働く場の、町の「生きた構造」が、
    実在のものとなることでしょう。
 西洋の伝統では、設計は階層的に考えていくものですし、またある種の合理主義にも導かれています。このような考え方では、完全な「絵」を持っていなければ何もすることができないように見えます。それが、たとえばソフトウェア仕様書の伝統です。そしてさらに、西洋式思考というのは、抽象することで組織化しようとする傾向があるのです。

 また、抽象は安全性(セキュリティ)に関して誤った感覚を植え付けます。つまり、抽象は、私たちがシステムを所有でき制御できるかのような感覚を与えるのです。だから、私たちは、システムがいかに発展するかを予測しようとするのです。自分たちがシステムを開発する場合ならなおさらそうです。そして、たいていの場合、予言はうまくいきません。変更の多くは、私たちの顧客によって「所有されて」いるのです。私たちにシステムの変更要求が出されるかもしれないし、顧客自身が自分たちのニーズにより良く合うようにシステムを拡張しようとするかもしれないですが、いずれにしろ変更が顧客に所属することに変わりはありません。
 また、賢者は抽象せずに体得します。そして、所有は盗みなのです。