WEB+DB PRESS plusシリーズパターン、Wiki、XP
―― 時を超えた創造の原則
―― 時を超えた創造の原則
2009年7月10日紙版発売
2015年1月30日電子版発売
江渡浩一郎 著
A5判/224ページ
定価2,508円(本体2,280円+税10%)
ISBN 978-4-7741-3897-8
ただいま弊社在庫はございません。
書籍の概要
この本の概要
ソフトウェア設計の定石集である「デザインパターン」は,今や開発者の必須知識となっています。Wikipediaに代表される「Wiki」は,多くの人々に使われるソフトウェアに成長しました。「XP(エクストリームプログラミング)」は,現在主流となりつつあるアジャイルな開発方法論です。
デザインパターン,Wiki,XP。 一見,何の関係もなさそうに思えるこの3つは,実は同じ起源から発生した兄弟です。 しかもその起源は,ソフトウェア開発とは何の関係もない異分野の人である,建築家クリストファー・アレグザンダーの思想にあります。
本書では,アレグザンダー(パターンランゲージの発明者),ウォード・カニンガム(Wikiの発明者),ケント・ベック(XPの提唱者)らが織りなす約半世紀の歴史物語をたどりながら,優れた創造を行うための共通原則に迫ります。
こんな方におすすめ
- デザインパターンに興味がある方
- XP(エクストリームプログラミング)などのアジャイルな開発手法に興味がある人
- Wikiに興味がある方
- 利用者と設計者・開発者の関係を改善したい方
- 優れた創造を行うための原則に興味がある方
- 建築とソフトウェアの関係に興味がある方
- クリストファー・アレグザンダーに興味がある方
著者の一言
筆者は当初Wikiの起源を調べようとしていました。WikiはWeb上のシステムなので,Webが誕生した1991年より前にさかのぼることはないだろうと思っていたのですが,もっと昔の思想と深い関係があることがわかりました。
Wikiの起源への道のりは,デザインパターンやXPの起源への道のりでもありました。Wiki,デザインパターン,XPは,どれも一つの思想,建築家クリストファー・アレグザンダーのパターンランゲージを起源としています。さらにその背後には,建築,知の共有,ソフトウェア開発を貫く「時を超えた創造の原則」がありました。
最終的には,1960年代に考え出された思想が源流となっていたことがわかりました。こんなにも昔の思想が形を変えて現在に影響を与えていることに筆者は驚きました。この驚きを伝えたいと思い,本書を書きました。
本書籍に関するお知らせ
- はじめに
- あとがき
- 刊行記念トークセッション開催
- 刊行記念イベント「第七回Wikiばな」フォト&動画レポート公開
- 関連イベント「『創造するアーキテクチャ』第7回アーバンコンピューティングシンポジウム」レポート公開
この書籍に関連する記事があります!
- パターン,Wiki,XP = 時を超えた創造の原則
- パターンは一般に,「デザインパターン」の略として用いられます。プログラミングをしていると,繰り返し現れるコードの記述を目にします。
- [祝]12冊記念! WEB+DB PRESS plusシリーズ大集合
- 刻々と移り変わる情報技術,インターネットの業界。次々と登場する新技術を,日々キャッチアップするのは大変です。技術の進化を追うためは,知識の積み重ねが必要な場面が多々あります。
目次
はじめに
謝辞
序章 パターン,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
- 「無名の質」を追い求める
- 時を超えた創造の原則へ
この本に関連する書籍
-
スクラム実践入門 ── 成果を生み出すアジャイルな開発プロセス
スクラムとは何かを一言で表すと,「複雑で変化の激しい問題に対応するためのフレームワーク」です。その特徴ゆえに,スクラムはソフトウェア開発に従事する開発者やマ...
-
インフラデザインパターン ── 安定稼動に導く127の設計方式
本書は,数百プロジェクトの実績から導かれたインフラ設計の定石を,デザインパターンとしてまとめたものです。特にインフラについて経験の浅い技術者(アプリケーショ...
-
良いコードを書く技術 ― 読みやすく保守しやすいプログラミング作法
読みやすく保守しやすい「良いコード」の書き方を解説した入門書です。『WEB+DB PRESS』で断トツ人気だった連載を加筆・修正して書籍化しました。 本書を読むと,良い...
-
Webを支える技術 ―― HTTP,URI,HTML,そしてREST
Webは誕生から20年で爆発的な普及を果たし,17億人のユーザと2億台のサーバを抱える巨大システムへと成長しました。Webがここまで成功した秘密は,その設計思想,いわゆ...
-
[24時間365日]サーバ/インフラを支える技術 ……スケーラビリティ、ハイパフォーマンス、省力運用
一度スタートしたサービスは止めたくない,というのはWebに携わる開発者や担当者に共通する意識ではないでしょうか。しかし,サービスの成長にともない,サーバの増強,...
-
受託開発の極意 ―― 変化はあなたから始まる。現場から学ぶ実践手法
「受託開発」とは,お客さまから依頼を受けてシステムを作る,いわゆるSIerです。 経済産業省の調査「特定サービス産業実態調査」によると,日本のソフトウェアエン...
-
Googleを支える技術 ……巨大システムの内側の世界
たとえば,ふだんなにげなく行っているWeb検索。背後には,想像以上に膨大な計算,多数のコンピュータの働きがあります。 本書では,論文やWebなどで公開されているパ...