|
|
|
|
|
|
|
|
|
|
|
|
OOPSLA ‘96 の基調講演で、Alexander は、生成力(generativity)とは何か、それが彼の専門分野ではどのようにして失われてきたかについて話し続けました。実際に彼が携わってきた仕事においても、生成力が失われてきているというのです。ここで、先にお話したことを思い起こしてください。Alexander が「生き生きとした」(alive)と呼ぶ質のことをお話しましたが、この生成力は、そういう生き生きとしたシステムを作る上での鍵となるのです。
私が最初にパターンランゲージを作り上げたとき、伝統的文化の中に存在している数々の生成スキーム (generative scheme: 生成力のある機構) を基礎としました。ここでいう生成スキームとは、命令の集合であって、順序に従って実行されれば、人や集団をして、一貫した人造物を創り出すことを可能とするようなものです。それも美しく、しかも単純に...
... つまり、生成スキームとは、人々がそのステップに従っていけば、完全で一貫性のある建物を作ることができるような、そういう命令のシーケンスです。私たちは、家、公共建築物、オフィス家具のレイアウトなどに対して、この生成スキームを作ってきました。それは、実際に役に立っています。しかも強力に機能しているのです。
"A Pattern Language" の中でご覧になったパターンランゲージと比較すると、これらの生成スキームは、皆さんがコードと呼ばれているものに非常に似ています。生成スキームは、設計を創り出すあるいは生み出す命令集合により定義される生成的プロセスになっています。そして実際に、ほんの少し前に私がお話ししたやり方で空間に展開が起こることを可能とするような命令系となっています。そして、それゆえに、生きた構造を創り出す能力がパターンランゲージよりも高いのです。
このように考えてみてください。プログラムは「生きた構造」のようなものだと。私たちの多くは、自分の書くプログラムを、おそらくダイナミックな構造を持つものだと考えています。しかし、「生きた構造」とはどんな意味でしょうか? それは、文言以上のことを意味しています。すなわち、プログラムには、ユーザに対してもっと「生き生きとしている」と感じさせる能力があるということ。プログラムのコードには、そのコードを書く人に対してもっと「生き生きとしている」と感じさせる能力があるということ。プログラムは、世界をひとつの全体の場としてより完成されたものにするということ。
|
|
コンピュータプログラムは、コード、すなわち命令のシーケンスを持っています。コードは、統一の取れた人工物、すなわち、実行中のプログラムを創り出します。実行プログラムは、ユーザとのやり取り(あるいは指示)のシーケンスを持ちます。そのゴールは、なんらかの種類のまとまった人工物を創り出すことです。たとえば、データベースエントリ、CAD設計、ビデオゲームプレイヤーの頭の中に想起されるような空想上の世界などを創り出すことです。
|
|
|