新・闘わないプログラマ No.112

久々にプログラマ


久々にプログラマなどをやっています。実際に、このトシになるとまじめにプログラムを作ることってほとんど無かったりします。よくよく考えてみるとここ何年かは、本番で稼動するようなプログラムは作ってない……というか、もともとそういうプログラム自体をそんなに作ったことのない私だったりするわけで。そう考えてみると、偉そうに自分のことを「プログラマ」とも呼べないような気がしてきた。
私の場合、プログラムを作ると言っても、APIの挙動を調べるためのテストプログラムとか、他のプログラマの開発を支援するためのツールとか、まあ、そんなのばかりですね、今までに作ったので主なものは。
何せ、私はプログラムなんて、作らないで済めばそれに越したことは無い、と思っているような人間なんで、「これこれこういうことをやりたいんだけどなあー、どっかに誰かが作ったそういうことの出来るプログラム(ツール)は無いかなあー、うーん無いなあ、困ったなあ、仕方ない、嫌だけど我慢して作るか」となってはじめて作る方なんですね。
いや、これはもちろん私がやっているあたりの仕事(ネットワーク関係が主かなあ)だから、という事情にもよりますけど。例えば業務アプリケーションを作っている人のような場合は、そうそう他人が作ったプログラムが流用出来たりすることはほとんどないでしょうし。
とにかく、プログラミングなんていう面倒なことは、やらずに済むならその方がいい、というのが私の信念です。

そんな私が何故、プログラミングなどという面倒なことをやる羽目になったか、というと、若手の、いつもプログラミングをやっている人間の手が空かなかった、という単純な理由です。いや正確に言うと、去年入った新人なら手が空いていたのだけれど、そんなんにやらせたら半年くらいかかってしまいそうで、しかもそのサポートのために私の手間は、自分でプログラムを作った場合よりはるかにかかってしまいそう、という話もあったわけで。
いや、それでも新人を育てるためにはそういうことも必要でしょうけど、この仕事の期限が1月末なので、そういうことも言っておられず……しかしまあ、仕事をしているとこういうことってよくありますよね。本当は新人を育てておきたいのだけれど、期限が迫っているので、自分でやっちゃったほうが早い、とか。

いま作っているプログラムは、そんなに難しいものではないです。Windowsで、バックグラウンドで動作させるプログラムなんでGUIは必要無いし、ネットワークで外部と通信するわけでも無いので、通信関係のややこしい例外処理も必要無いし。
一応WindowsNT上で開発していて、その上での動作はほぼ確認したのですけど、問題はこのプログラム、Windows95/98でも動かすんですよね。もちろんWindows95/98上でも動くようにプログラミングしてはいたのですけど、これがなぜか動かない。まあ、よくある話と言ってしまえばそれまでですけど、なんかよくありますね、こういうこと。
プログラム自体はCで書いてWindowsのAPIを呼び出す、という原始的な方法をとっています。C++やらMFCをつかう必然性を、このプログラムに関しては、感じていないし、逆にAPIを使ったほうが安心できる、というのも、その理由です(←「お前がC++とMFCをよく知らないから使わないんだろう」という図星の突っ込みは禁止します)。
それはともかく、いろいろ調べてみると、あるAPIがWindows95ではうまく機能していないようなんですね。Windows APIの最新の資料を調べてみても、別にWindows95では動かないともなんとも書いていないし。Windowsの技術情報の載っているCD-ROM(何て名前だったっけ??)を検索してみたけど、それらしい情報は見つからないし。ナゼだ??
などと、そんな細かい(←細かいか?)ことを気にしていたらWindows上で動くプログラムなんて作ってられなかったりするのも事実なので、今週は、別のAPIを使って逃げるとか、何か善後策を考えないといけないかな、などと思ったりしています。

しかし、久々にちゃんとしたプログラムを作ってみて、いろいろ悩むことが多いのを、改めて感じました。いやまあ「動けばいいじゃん」という程度の出来のプログラムを作るんだったら簡単な話なのですけど、いろいろ考え出すとキリが無かったりしますよね。
「ここの処理はこう書いたけど、でもあそこの部分と似たようなことをやっているなあ。なんとか一つにまとめたほうが綺麗だよな」とか
「このデータのための領域、どうせたいして大きくならんだろうからサイズ固定の配列にしちゃってもいいかな、とりあえず大きさは#defineで取っておいて。でも、そういうのって逃げだよなあ、やっぱりちゃんとmallocとreallocを使うべきかなあ」とか
「この関数、結構長くなっちゃったなあ。やっぱり分割したほうがいいかなあ、でも、めんどくせーなー、分けるの」とか
「そーいや、あんまりちゃんとコメント書いていないなあ。人には、ちゃんとコメントを書け、とうるさく言っている当の本人がこれじゃあなあ」とか
日ごろ、こんなところで偉そうなことばかり言っている手前、妙に細かいところにまでコダワリを持ってしまったりなんかして、それはそれで時間が結構かかってしまったりすることおびただしい。でも、よくよく考えてみたら、別にここで私の書いたソースを公表するわけじゃないですし(←「見せろ」と言われても、見せてあげなーい)、テキトーに書いても、誰からも突っ込まれるわけじゃないのですけどね。

[前へ] [次へ]

[Home] [戻る]


mailto:lepton@amy.hi-ho.ne.jp