未来のいつか/hyoshiokの日記

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

gdb を emacs から使う

アプリケーションの開発時にはデバッガーを使うのはあたりまえだろう。そのデバッガーを使えなくて何がプログラマだ、くらいの事は思うのだけど、世のプログラミング言語の入門書にデバッグの仕方もましてやデバッガーの使い方も載っていない。

その隙間を誰がうめるのか。じゃあ、わたしが埋める。埋めてみた。うまくいったかいかないかは分らないがともかくやってみた。

プログラミングキャンプである。若いプログラマ志願者と一緒になって4泊5日のブートキャンプである。鬼軍曹がびしびし鍛えあげるブートキャンプである。

デバッガーを上手に使えなければ戦場で討死する。死ぬな。生きろ。

デバッガーの使い方を教えるのは、戦場に行く前の最初の一歩だろう。防弾チョッキかヘルメットくらいの役には立つ。もし日本のプログラミング現場で、デバッガの使い方を教えていないとしたらプログラマとしてどのように生きていくのかを知らない人々によって、その現場が支配されているということに他ならない。

誰かが書いたプログラムをデバッグするというのがプログラマの現実である。自分がスクラッチから書いたものをデバッグするほど簡単なものはない。現実はそうではない。誰かが書いた正直どうかと思うようなスパゲティを泣きながらデバッグするのが現実である。

しかし本物のプログラマはそんなことにはびくともしない。いとも簡単に他人のコードをあやつる。理解する。ハックし、改良する。

当り前にプログラムを動かし、当り前にデバッグする。流れるようにコードを読み、いとも簡単に動かす。

その匠の技を盗みたい。そのように強く願ってプログラマとして四半世紀生きてきた。もちろん今でも変わらない。

そしてプログラミングキャンプだ。デバッガの使い方は絶対はづせないキャンプの講義の一つだ。自分以外だれも手をあげなかったからわたしが講義した。

デバッガを使えなくてどうやってプログラマとして生きていくのか。道具を使いこなせなくて何がプログラマだ。そう強く思う。

職人だったら包丁を研ぐ。自分が使う包丁は自分で研ぐ。当り前の話ではないか。

gdbの使い方ではない、デバッガを使うということを、どのように使うということを知らせなければいけない。

Emacsは環境」の伝承も?

 余談になるが、フリーソフトウェアの標準デバッガ「gdb」の使い方を教える吉岡氏の授業で、吉岡氏はgdbコマンドラインからではなく、Emacsエディタをいったん立ち上げてから呼び出していた。それだけ見ても吉岡氏が「Emacsは環境」派だということがわかるが、gdbという固有のコマンドの使い方だけでなく、そういうフリーソフトウェア流の考え方そのものが伝わっていくとさらに面白くなるかもしれない。

プログラミングには仲間がいて、そして孤独である 4泊5日のプログラミングキャンプで学生たちが得たものは? http://codezine.jp/article/detail/2962?p=3

デバッグの方法の資料 http://blog.miraclelinux.com/yume/files/progcamp_debug_080814_J_hyoshiok.pdf