プログラミングと都市計画と日曜大工。

 

都市論で有名なアレグザンダーは、実はプログラマーの間でも知られている名である。彼の著書『パタン・ランゲージ』は、ソフトウェア・デザインにおける「構造のパタン」の隠喩としてしばしば引用されるからだ。ただし、プログラマーで実際にこれを読んだことがある人は少ないと思う。

彼の「パタン・ランゲージ」のカテゴリーは、「町」「建物」「施行」の3パートに区分されている。彼は、生活の空間スケールの差異を意識しながら、各々のスケールにおけるパタンを議論しているのだ。

ところで、ソフトウェア・デザインにおける「デザインパターン」や「オブジェクト指向」というのは、「町」の次元にあると言える。それは都市計画級のコーディング・テクニックだ。だが、はたして、本屋でプログラミング本を手にするような読者は、そのような野心を抱いてこのコーナーに来たのだろうか?

余談だが、映画『インセプション』で、主人公夫婦が思い出を頼りに作ってしまった街のシーンをふと思い出す。

vlcsnap-2014-07-01-06h29m00s193

えーコレ、ほんまに二人だけで作ったん? 
うん、何年もかかってん。
まじでー!、しんじられへーん!!
・・・というラスト近くのシーン。
vlcsnap-2014-07-01-06h31m25s80

確かにそういうプログラマーもいる。ただ、単独で作ってしまうのなら、やはりパターンは関係ない。なぜなら自分さえ分かっていれば良いのだから。そういえば『ハッカーと画家』の著者もそういうこと言ってたような。LISPでごりごり独りで書いたんだよねあの人。まあでも、この物語の主人公、自分で作った迷路に終始迷っているけどねw

話を戻そう。こういう巨大なスケールがある一方で「これはカナヅチです。そしてこれはクギです。右手で持って打った方が良いですね、ただしもしあなたが左利きならば・・・」的な、死ぬほど退屈で、そして実践的ではない入門書が多数存在している。それはパタン以前の指南書であって、程よい「コードの行間」はいつまでたっても見えてこない。

「施行」レベルの日曜大工、つまり「ちょっとアプリを作ってみたいな」というインセンティブに応えるような書籍は、意外と少ないのではないかと思う。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください