フレデリック・P・ブルックスの論文「銀の弾丸はない:ソフトウェア工学の本質と課題」を読んでるのだが、思ったことをチラホラ書いておこうかな、っと。
目に付いたのは、論文の中で「ソフトウェアを書く」ではなく、
「ソフトウェアを構築する」という言い回しが登場した事に触れている事だ。更にこの論文だと、構築のメタファはそろそろ賞味期限切れだと述べている。
翻って最近の本には、ソフトウェア開発を画家に例えたり(Paul Graham/ハッカーと画家)、ガーデニングに例えたり(Andrew/Davidの達人プログラマーだっけか?)している。
それでふと思った。
「構築」と「画家」、この2つの世代のメタファの差は何だろう?
建築と絵画の何が違うかという点は、芸術性(感性)が入り込んできた事だと思う。
建築にしろ、絵画にしろ、学問としてきちんと理論(工学)が存在する。
これは、昔も今も相違なくソフトウェア工学として今なお発展している。
では、何が違うかというと要求からモノを産み出すまでの製作者の関与の仕方が違うのである。
建築は、ビルを建てるにしろ、都市を設計するにしろ、お客(発注者)の望む通りに(建築学で習った)図面を描き、(工法に従って)組み立て、構築する。
逆に、絵画やガーデニングといった芸術分野は理論を実践するだけでは何も産み出す事ができない。
お客の要求は、「この部屋にあう絵」だったり、(実は似合っていない事に気付いていないが)「バラで庭を埋める」だったりするわけだが、
製作者はそれを鵜呑みにして創ってはならず、製作者の創造性を注入し、お客の気付かないところも汲み取り提案していかねばならない。
つまり、昔に比べて要求が多様化し及び不安定化して、
ソフトウェア製作者のセンスが問われる時代になったからこそ、
メタファが変化していったのではないか。
ソフトウェアの楽しみとは、そういった単に要求そのままを創るのではなく、誰も気付いていないところで製作者の創造性が表現できるところではないのかという気が読んでて思えてきた。
眠い頭で書いたから文書展開が何だか変だな・・・ちょと修正。



