ハマらないためにツールはある.


プログラミングを始めてから今日に至るまで、

様々なタイプのプログラマーと開発を共にしてきたが、

驚くべき速度で高い品質のソフトウェアを作り上げるプログラマーには、

一つ共通の特徴があるように思える。

それは、「はまる」時間が極端に短い、ということである。

基本線としては,全く同意なのだけれども.


問題箇所を頭で考えることに慣れてくれば、

大抵の場合、テキストエディタさえあれば問題は割とすぐ解決できる。

そして、ツールが本領を発揮するのは、当たりを付けていないプログラマーに対してではなく、

当たりを付けているプログラマーに対してである、ということを忘れてはいけない。



頭で考えて当たりをつけることができないプログラマーにとっては、

デバッガーは単に速度の若干遅い実行エンジンでしかない。

これには異論があるなー.

大抵のバグは,自分の脳内と現実世界との乖離が引き起こす.デバッグとは,その乖離を見つけてマッチングし直す営みと言える.
経験が多い(もしくは飲み込みが早い)プログラマは,どんだけ自分がバカなのかを驚くほど正確に理解しているので,どの辺りで自分の脳内にバグがあるのかを割と早く見つけられる.この作業を"当たりを付ける"ということもできるだろう.

経験が浅い(もしくはトロい)プログラマは,当たりを付けるための失敗データベースが無い.そんな状況で,いくらソースコードを眺めても,ハマった状況から抜け出られるわけがない.

経験の浅い者ほど,デバッガは使うべきだと思う.デバッガを使うコストがバカみたいに高かった時代は終わったのだし.何千回となくステップ実行すればよい.経験を積めば,つまらない理由でブレイクポイントをかける回数も減ってくるだろう.