<< 前 ホーム 次 >>

bakaid: 20061209

深さ優先のメリットは:

* システムを早く動かすことができる。
* 先の見通しが立てやすい。

の2点。

システムを早く動かすことができる。つまり、システムが
お金を早く生み出すことができる。そうなれば、開発
プロジェクトがキャンセルされる可能性も減る。

また、早く動かせるということは、システムが早く目に
見えるようになるということでもある。誰かに『今どこ
まで進んだの?』と尋ねられたときに、動くシステムを
見せながら『ここまで進んでいます』ということが
できる。幅優先でも『ここまで進んでいます』という
ことはできるが、その裏付けは『誰か』にはわからない。

先の見通しが立てやすい、というとちょっと誤解される
かもしれない。いいたいのは、先が見えないときには
深さ優先のほうがいいということ。

もちろん、ここでいっている深さ優先というのは、
このページで何度も取り上げているスパイクでいう深さ
優先のこと。このあいだ、『深さ優先ってのがあるんです
よ』と話したら、どうも『詳細優先』のことと誤解された
らしく、話が噛み合わなかった。『仕様を深く考える』とか、
『実装を深く考える』とか、そういう『深さ』もあるんだと
教えられた。

考えてみれば、ここでいっている『深さ』というのも、
『複数の層を貫く』という意味での深さなわけが、それを
『複数の層にまたがる』という表現をすれば『横断』と
いうことになり、言葉としては『幅優先』ということも
できる。

自分は『層』という言葉が曖昧で嫌いだというのもある。
上とか下とか、そんなの場面場面で違う。横で聞いてて
よく混乱する (笑)。

考え方の基準としては、ストーリーであり、ビジネスと
いうこと。ビジネスのゴールに近いほうが深さということ。

--

そう、建築ならば、インフラに投資しても、それは目に
見える。土台をコンクリで固めていたとしても、それが
必要なのは誰の目にも明らかだ。しかし、ソフトウェアは
違う。

--

結局、ビヨルネさんがいいたいのは『トーシロはC++
使うんじゃねぇ!』ってことじゃないのか?

--

まぁ、でも、タイプ量だけでいったら、静的型言語が
動的言語より少ないことだってあり得るんですよね。
静的型言語っていうのは、IDEなんかでも支援しやすい
わけで。

動的言語を自分が好きなのは、やっぱり気楽にできる
からなんじゃないかと思うんです。そういうことに
価値を置かない人が多いってことも知ってますし、
それはそれで尊重しますけど。でも、自分に関しては、
気楽にできたほうがバグも少ないし、開発もサクサク
進むし、いいことづくめ。人によっては動的言語の
ほうがバグが増えちゃうっていうこともあるんでしょう
けど、少なくとも自分はそういうことがない。それは
開発の進め方が違うからで、言語の違いじゃない。

--

shell + bangで「しぇばんぐ」じゃなかったの?

本家Permlink

<< 前 ホーム 次 >>


Copyright © 1905 tko at jitu.org

バカが征く on Rails