3年前に買ってそれっきり積んでました。ごめんなさいごめんなさいごめんなさい。読み始めたら一気に読んでしまった。
ざっくり
面白かった。最近こういう本をほとんど読んでいなかったけど、丁寧に資料を集めた丁寧な仕事だ。
これまでパターンという言葉は実はあまり好きじゃなかった。意味がよく分からなかったから。その理由が本書を読んで分かった。要するにソフトウェアの世界で「デザインパターン」というパターンの中のごく限定的なものが有名になりすぎたからだったようだ。
省略せずに「オブジェクト指向における再利用のためのデザインパターン」という言葉を使っていれば「オブジェクト指向」「再利用」「デザイン(設計)」と三つも限定条件が入っていることが分かる。例えば極端な話、再利用性のないものならパターンは無用だ。「デザインパターン覚えてないしソラで書けないし、オブジェクト指向なんか分かってないんじゃないか」とか、変に萎縮する必要もないわけだ。
ちょっと安心した。
第1部 建築
以下、ざっくりと心に残った言葉。
- 「セミラティス構造」
- トップダウンのツリー構造で抜け落ちる様々なものへの気づき
- 「漸進的成長の原理」
- オレゴン大学の実験における建築プロジェクトで適用された原則の中から。
- 親方の仕事はあとで修正がきく
- パタン・ランゲージを引用した言葉の要約だけど、アジャイルとか言わなくても昔からモノを作る仕事のコツは変わらないんだなぁという印象。
- 「パターン形式」
- ノウハウなどの記述形式ってよく悩むことがあるので、フォーマットを決めるときに参考になると思った。フォーマットについては Wiki の話でもモードという言葉で出てくる。
観察からボトムアッププロセスへ繋がっていくアレグザンダーの思考を鮮やかにトレースできて、そうだよなぁと次々に納得が押し寄せてくる。
第2部 ソフトウェア開発
OOPSLA が何か初めて知った。
こういう論文というかアイディアの発表というフォーマットがあり、議論し、そのくり返しによってより良いものを目指すというアプローチがなんというか、プラグマティックな学会のような感じで面白かった。日本だと何になるんだろう、学会そのものとは違うだろうし、各種カンファレンスも何か違うような…。デブサミはいろいろボーダーがないので位置づけとして近いのかもしれないけど、この本で読んだ限りでは OOPSLA みたいな動き方とは違うような気もする。
脱線した。
- デザインパターン
- プロセスパターン
- XP
が見事につながっていき、20世紀最後のソフトウェア開発の英知が具現化されていく歴史を追えるのは単純にとてもわくわくする。XP の解説ではなく、生まれた歴史が読めるのがとても面白い。今さらだけど XP 本読んでみようかな。(できっこないと思って当時スルーしていたのだ。)
またここで、あぁ、デザインパターンに固執しなくていいんだと気が楽になった。
第3部 Wiki
ここまで来ると聞いたことのない言葉でも「パターンブラウザ」が出てくるとキターって思えるようになっている。
そして Wiki の極端な考え方がある意味分かりにくさや使いにくさを生んでいることもよく分かる。
自分の Wiki に対する理解はまだ浅かったというか、運営するという意味においてはやはり「何を目指すのか」を絶えず共有し続けるというとてもつらい作業を通じて、より良い成果を残せるのだろうなぁと、Wiki にハマって 10年経ったいま思う。
振り返ると、WWW を加速させる可能性に興奮した Wiki によって地方のデメリットも強く意識するようにもなった。 自分は「Wikiばな」には一度も参加していない。今、様々な勉強会は Ust ブームを過ぎ、直接会うことによって生まれる何かを最大化させる方向に向いているものが多い。
参加とはなんだろう。難しいんだよなぁ。
まとめ
軽く読める読み物にまとまっているんだけど、これはコンピュータサイエンスの現代史として教科書に採用していいんじゃないかと思う。いやマジで。少なくともいま実際に起きている世の中の動きについてその背景の一端をかなり理解できると思う。
オススメ。は、みんな3年前にしてますね。はい…。