未来のいつか/hyoshiokの日記

hyoshiokの日々思うことをあれやこれや

ソースコードの読み方とデバッグ方法論

夏休み終っちゃたね、ちびっこ諸君。

ソースコードの読み方」は自分のブログ最大のブックマークを記録*1して、うれしい限りです。長年、ソースを読めと言ってきたかいがあるというものである。(http://blog.miraclelinux.com/yume/2007/08/post_d6bd.html)

それと対をなすのが「デバッグ方法論」である。かつては、デバッグのやり方など、クラスルームのおもちゃのプログラムの演習では、どー考えてもシステマティックに工学的なアプローチで教えられるものではなく、カリキュラムの中ではなかった事になっていた。(http://blog.miraclelinux.com/yume/2007/08/post_d3eb.html)

ひょっとして、わたしが知らないだけで、実は、東大あたりでデバッグ概論とか学部1年生の必修だったりしたら、それはそれで素晴しいけど。

でもって、10年前、某大手データベースベンダでプログラマとして飯を食っていたころ、どーにかして自分のデバッグ力(りょく)を向上させたいとの思いは、プロプライエタリな壁にはばまれなかなか思うようにいかなかった。

ところが、インターネットとオープンソースのおかげで、デバッグという最もプログラミングの真髄中の真髄。面白さと苦しさの源泉。微視的視点の極限についてソースコードレベル、デバッガのコマンドレベルで情報共有できるようになったのである。オブラートにくるんで話す必要は一切ない。gdbのコマンドの使い方、ソースコードの読み方、Cでのイディオム、テスト方法論、一切合切隠し事なし、全て丸裸で議論できるようになったのである。

すげーぞ、オープンソース、すげーぞインターネット。

この知識の泉は人類共有財産だ〜。

事例研究をつみかさねて、みんなでデバッグ力をたかめ、より面白いもの(価値のあるもの、ないもの)をがしがし作っていきたいものである。