トップダウンとボトムアップ
Paulはボトムアップが良いと言っているが、それはちょっと賛同できない。
完全なボトムアップならば、その場で動く物をどんどん作って、それを組み上げていったら、いつのまにか実用品が出来ている、というような行程になる。
たしかにこれは、最も自然な方法である。Paulが例に出しているように、数学の公理系はそのように組み上げられる。物理でも同様だし、生物の進化する過程もそうだ。
しかし、この方法では完成品がどうなるか全く分からない。1つのものが出来る背景で、他の余分なものが作られる。もちろん、それらも有用だが、目的があって、過去の実績がない場合は非常に時間がかかる。
ボトムアップは、実績を積み上げて、それを活かしていく手法だ。わたしはまだ実績がないので、それができない。
目的がある場合は、必然的にトップダウンにならざるを得ない。
完全なトップダウンであれば、目的が最初に提示され、全てが完成するまでテストをすることはできない。最終的に出来上がるものも、目的以上のものにはならない。
これもまた、結構な問題がある。完成までには時間がかかるので、作っている途中で目標が陳腐化してしまうことがある。それに気が付くと、目標を決め直しだ。作り始めてから仕様は段々変化して、なかなか進めることができない。複数人数で作る場合、目標を度々変えられると、実際に作っている方はうんざりしてしまう。
目標が定まっていないと、最短ルートをとっても意味がないのだ。他の道を開拓しない分、路線を引き直すのは難しい。