カテゴリ:カテゴリ未分類
固い話題が続いておりましたので、久しぶりに私の職業と関係のある話題を一発やらかしてみようと思います。常連さんのほとんどが私が職業プログラマー(重複語ではありません、念のため)であることはご存知だと思いますが、仕事をしている中で最も苦労するのがバグつぶしというやつです。 巨頭星人といえ人間ですので(宇宙人かもしれません)、過ちを犯します。いや、プログラムを作る上ではむしろたくさん過ちを犯すといったほうが正しいかもしれません。 一般の人たちにはプログラムがどんなものかちょっとわかりにくいと思いますが、運動会などの行事で配られるプログラムのもうちょっと複雑なやつで、それを見ながら(ちょっと語弊がありますが気にしないでください)コンピューターが動作するわけです。詳しく知りたい方は、本屋さんに行ってコンピューターコーナーにある「C言語によるプログラミング」などをご一読ください。もしそれが一発で理解できたらぜひ私と一緒に仕事をしましょう。 しかし、その本を買ってサンプルプログラムをコンピューターに向かって広げてみても動作はしませんのでご注意ください。 さて、話を元に戻しまして、過ちて後に改むるは恥に非ず、などと申しますものの、最大の問題はどこに間違いがあるのかさーっぱり分からないときがあることです。単なるタイプミスでしたら、コンピューターが(いやプログラムを作るプログラムです)そのことを指摘してくれますが、文法的には間違ってないが処理の内容に瑕疵があると、期待通りの結果が得られないとか、途中で固まってしまったり、最悪の場合は爆発したりとか(うそです)厄介なことになってしまいます。 で、どうやってこの間違いを発見し修正してまともに動くプログラムを作るかと言いますと、最も原始的な方法は途中途中に経過を表示させて、どこで不具合が発生しているかをつきとめるやり方です。そのほかにも、プログラムの不具合を発見するプログラムがありますので、そのようなソフトウェアの力を借りながら地道にバグつぶしをするわけです。 プログラムを図式化してバグの位置を見つけやすくする手段もあったりしますので、最近はバグの修正もやりやすくなったと思います。 なんと最近はこのプログラムのデバッグに音楽を用いようという試みがあることを、NewsScientistのサイトで発見しました。 Musical approach helps programmers catch bugs プログラムと音楽がどういう関係があるのかと思われそうですが、ローブロー大学とノーザンブリア大学の研究者達が、パスカルというプログラム言語で書かれたプログラムコードを、音楽に変換するシステムを開発したそうです。そして、それがかなりバグつぶしに有効であると考えられるらしいのです。 たしかに視覚的な方法が有効ならば、聴覚も応用できると考えるのは自然かもしれません。機械や装置の調子を見るのに目視検査に加えて聴音検査も多く用いられていますものね。 ちょっと専門的になりますが、プログラム中で条件分岐(ある条件で処理を分けること)やループ処理(繰り返し計算)を音楽パターンに変更します。ループ処理などは変数を増やしながら処理を行いますので、丁度弦楽器で緩やかに音が高くなっていくようなイメージでしょうか? この中の処理に誤りや不具合があった場合に、このスムーズな音程の変化が変調して不協和音のように聞こえたりするらしいです。 研究者達はプログラマーを二つのグループに分け、片方に通常の方法でバグ潰しをさせ、もう片方に音楽化したプログラムを聞かせながらバグ潰しをさせ、その効率を見た結果、明らかに音楽を利用したほうが高いバグ除去ができたと報告しています。 いや、それにしてもこの方法はプログラマー個人個人の音楽的資質には関わりはないんでしょうか?それについては更に研究を進める必要があると研究者達は考えていますが、やっぱり音痴の人(差別語かな?)にはあまり向いてないような気がします。 そのうち、プログラマーの採用試験に音楽的能力などの検査が入ってくるとすれば、ちょっと面白いかもしれませんね。いずれにしても、何事にもバランスの取れた五感は重要だということでしょうか。 お気に入りの記事を「いいね!」で応援しよう
|
|