目次
はじめに
謝辞
序章 パターン,Wiki,XPの起源へ
- Wikiとの遭遇
 - Wikiとブログ・掲示板の違い
 - Wikiの正確な定義とは
 - Wikiをどう使えばよいのか
 - Wiki誕生の背景を探る
 - WikiWikiWeb
 - HyperCardによるパターンブラウザ
 - ソフトウェア開発におけるパターン
 - クリストファー・アレグザンダーによるパターンランゲージ
 - 建築,ソフトウェア開発,Wikiの歴史を探る
 
第1部 建築
1章 クリストファー・アレグザンダーによる美の原理の追及
- アレグザンダーの生い立ち
 - 「美」の根本原理の追及
 - 初期の実験
 - 『形の合成に関するノート』── 設計プロセスの数学的な形式化
 - 要求条件を1つにまとめるダイアグラムの発明
 - ベイエリア高速鉄道の計画立案 ── 要求条件間の膨大な関係性の計算
 - 「都市はツリーではない」── 多様な関係性の発見
 - 数学的な形式化に対する自己批判
 
2章 アレグザンダーの6つの原理
- 『人間都市』── 人間を疎外しない都市のあり方
 - 『オレゴン大学の実験』── 利用者参加による建築のための「6つの原理」
 - 市民によるバークレーの再建 ── 利用者参加による街作りの実験
 - コラム:『オレゴン大学の実験』におけるブランコの比喩
 
3章 パターンランゲージ
- パターンとパターンランゲージ
 - 『パタン・ランゲージ』── 利用者と建築家の共通言語
 - パターン形式
 - パターンの具体例
 - 数学的理論による設計から,利用者参加による設計へ
 
4章 時を超えた建設の道
- 『時を超えた建設の道』── パターンランゲージによる建築理論
 - 無名の質 ── 生き生きとした建物や町が持つ特性
 - 解題 ── 時を超えた創造の原則
 
5章 パターンランゲージによる建築の実際
- パターンランゲージの目指す方法論
 - 日本におけるアレグザンダーの受容
 - 盈進学園東野高校の建設
 - 20年後の東野高校
 
6章 アレグザンダーの現在
- チャールズ皇太子のアドバイザへの就任
 - 『The Nature of Order』── 普遍性を持つ幾何学の研究
 - パターンランゲージという思想
 
第2部 ソフトウェア開発
7章 オブジェクト指向
- ソフトウェア開発の世界へ
 - オブジェクト指向の勃興 ── Smalltalk
 - オブジェクト指向とGUI
 - GUIの普及と一般化 ── Macintosh
 - OOPSLAの設立 ── オブジェクト指向に関するコミュニティの形成
 - ソフトウェア概念変革の時代
 
8章 ソフトウェア開発へのパターンの適用
- パターンランゲージをプログラミングへ応用する
 - 「オブジェクト指向プログラムのためのパターン言語の使用」
 - 繰り返し現れる構造に目を向ける人々
 - 「Toward an Architecture Handbook」── OOPSLA/ECOOP 1990
 - 「Architecture Handbook Workshop」── OOPSLA 1991
 - 「Documenting Frameworks using Patterns」── OOPSLA 1992
 - GoFの結成 ── OOPSLA 1992
 - Hillside Groupの誕生
 - 「Patterns: Building Blocks for Object-Oriented Architectures」── OOPSLA 1993
 - PLoPの開催 ── パターンランゲージコミュニティの形成
 
9章 デザインパターン
- 『オブジェクト指向における再利用のためのデザインパターン』── デザインパターンの誕生
 - パターン形式
 - デザインパターンの具体例
 - デザインパターンとパターンランゲージの共通点と相違点
 - デザインパターンの普及
 - その後のパターンの展開
 
10章 プロセスへのパターンの適用
- ソフトウェア開発における「6つの原理」
 - 「開発工程の生成的パターン言語」── コプリエンによるプロセスパターン
 - 「エピソーズ」── カニンガムによるプロセスパターン
 - C3プロジェクト ── XP誕生の地
 - C3プロジェクトにおけるプラクティス
 - C3プロジェクトの進展
 - C3プロジェクトの結末
 
11章 エクストリームプログラミング
- 『XPエクストリーム・プログラミング入門』── ベックによる開発プロセスの変革
 - 価値,原則,プラクティス
 - アジャイルマニフェスト
 - 『XPエクストリーム・プログラミング入門 第2版』── XPの再定義
 - 価値
 - 原則
 - 基礎プラクティス
 - 応用プラクティス
 - XPを代表するプラクティス
 - 組織パターン,プロセスパターンからXPへ
 - アレグザンダーの6つの原理と,XPのプラクティスの比較
 - XPとパターンの関係
 - 利用者と設計者の関係を見直す
 - ソフトウェア開発からアレグザンダーへのフィードバック
 
第3部 Wiki
12章 HyperCardによるパターンブラウザ
- Wikiの前身
 - Vivariumプロジェクト ── 子どものためのプログラミング環境の実験
 - HyperCardの誕生 ── 初めての実用的なハイパーテキスト環境
 - パターンブラウザの誕生 ── HyperCardによるWikiの前身
 - 複数人による共同編集の実験
 - コラム:CRCカード ── クラス構造の記述
 
13章 WikiWikiWeb
- World Wide Webの誕生
 - Web上の動的な基盤の形成 ── フォームとCGIの誕生
 - WikiWikiWebの誕生
 - WikiWikiWebの名前の由来
 - Wiki記法 ── HTMLを簡略化した構造化記法
 - WikiName ── キャメルケースによるリンク表現
 - Wikiカテゴリ ── 逆リンクを利用したメタページの表現
 - Wikiとパターンブラウザの共通点と相違点
 
14章 Wikiモードによるコミュニケーションパターン
- Wiki上のコミュニケーション
 - コミュニケーションパターン
 - Wikiモード
 - Wikiページのライフサイクル
 - Wikiモードとコミュニティの成熟
 - コラム:パターン形式 ── それゆえしかし形式
 
15章 Wiki設計原則
- カニンガムが満たそうとした設計原則
 - アレグザンダーの6つの原理とWiki設計原則の比較
 - XPのプラクティスとWiki設計原則の比較
 - XPのプラクティスでWikiを使いこなす
 - C2 WikiがXPの発展に与えた影響
 - Wikiの本質とは何か
 
16章 Wikiエンジン
- WikiWikiWebのCGIスクリプト
 - 文芸的プログラミング ── 文章のようにプログラムを書く
 - WikiBase ── Wikiを舞台にした文芸的プログラミング環境
 - WikiBaseと文芸的プログミングの共通点と相違点
 - WikiBaseのコードの共有
 - 「WikiWikiWeb」から「Wiki」へ
 - さまざまなWikiエンジンの誕生と,Wikiサイトの発展
 - 『Wiki Way』の出版とその後のWikiの広がり
 
17章 Wikipedia
- Nupedia ── Wikipediaのルーツ
 - Wikipediaの誕生
 - コラム:UuU ── Wikipedia最古のページ
 - フェーズ1 ── UseModWikiの時代
 - フェーズ1のトークページ ── ドキュメントモードとスレッドモードの分離
 - Wikipediaのルールと合意形成
 - フェーズ2 ── Wikipedia専用のWikiエンジン
 - フェーズ2のトークページ ── スレッドモードの機能化
 - コラム:カニンガムの予言
 - フェーズ3 ── MediaWikiの誕生
 - Nupediaの閉鎖とWikipediaの発展 ── 伽藍とバザール
 - Wikimedia財団の設立
 - Wikipediaが成功した理由
 - コラム:Wikipediaを「Wiki」と呼んでいいか
 
18章 Wikiの現在
- Wiki企業の誕生
 - 個人でのWikiの利用
 - さまざまな領域に特化したWikiエンジン
 - 概念としてのWikiの利用
 - アラン・ケイによるWikiエンジン
 
終章 時を超えた創造の原則
- アレグザンダーの思想が及ぼした影響
 - 建築
 - ソフトウェア開発
 - Wiki
 - 「無名の質」を追い求める
 - 時を超えた創造の原則へ