いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

エッセイを2つ。 ①デバッグ ②地味な趣味について

趣味でプログラムを書きます。コンピュータは「何をどうせよ」という指示書がなければ動きません。その指示書がプログラム(ソフトウェア、アプリケーション)です。プログラムを書く人がプログラマー。ぼくはアマのプログラマーですが、プロアマ含め、皆さんは「デバッガ」なるものを使っているのでしょうか……。デバッガとは何か、ご存じない方もいらっしゃるでしょう。プログラムはどんなに短いものでも大抵ミスが混ざります。文法的なミス、文法上は正しいがこちらが意図しない動きをさせてしまうミス、……。細かく分ければもういくらでもあります。それをなるべく早く見つけられればありがたいですよね。誤りを見つけて修正する作業が「デバッグ」、そのサポートをしてくれるソフトウェアが「デバッガ」なのです。「じゃあ、使ったらいいでしょ?」と思うかも知れませんが、前読んだ本には「プロでも使わない人がいる」と。だから正しい、ってことでもないんですが、ぼくは学生時代から今に至るまで、ただの1回も使ったことがありません。多分一番大きいのを書いたのは3Dのシューティングゲーム(2本)のときでした。公開もして、ダウンロード数が合計6万とかになったから、(いろいろと)それなりだったはずです。が、デバッガは使わず。ちなみにそのときはVisualC++で書いていました。多分使うべき場面で使うべき人が使えば効率的にデバッグできるのかも知れません。「何で思いどおりに動かないんだ……」と相当悩んだときもありますが、怪しそうな部分をプリントアウトして、変数を値をチェックして……で十分なのですね。そしてその前にそもそもまず「プログラムのこの部分にはこういう働きをさせ、こういう形のデータをこれこれの形に変換してここへ出力する」……などと部分ごとの働きと入出力を明確にすることが大事です。こんなの、もう何十年も前から言われていること。でも真理です。そしてこれがバグを出さない(多分)最も優れた方法です。プロはきっと何か違うことを言うかもしれません……。ま、いいでしょう。

プログラム、好きですが……地味ですよね。ここ何年も弾いていませんが、クラシックギターも趣味です。こちらは少しうまく弾けるようならまあ「派手」と言っていいかもしれません。最近はYouTubeで若く素敵な演奏家の素晴らしい演奏(バイオリンとかギターとか)も結構多く、「地味に」プログラミングしていると「いやー、地味だなあ……」とつくづく感じます。あ、もちろん優れた演奏家だからといって最初から優れているわけではなく、それこそ(ホントに)血の出るようなトレーニングを積み重ねてきたのであろうことは想像しています。もうひとつ、ぼくは数学も好きですがこれも地味ですよね……。地味な中でも「おお、結構面白い結果が出た!」「生徒に読ませたいのを書けた!」みたいなのもあれば、数回前のブログの「正項級数はどこからどう加えても和は一致するか」みたいに、地味なまま後で「うわ、これ証明になってないぞ……」と気づくのもあったり。生徒向けに書いた通信をまとめたり、新しく勉強したことを書いたり、大変なこともあったけれどまあそれでもブログは一応立ち上げて1年経ちました。ブログを書くのも地味な気がします。しかしことによると決して地味ではないのかも知れません。どんなのでも記事が300とかになるとそれなりに何かありそうな感じもするし。そして地味とか何とか気にしても仕方ないのかも……。何だか、結論がなくてスミマセン……。