図1●日経ソフトウエア編集部で使われているNSW送付先DB。この画面のほかに,一覧画面,ラベル印刷のプレビュー画面などがある
図1●日経ソフトウエア編集部で使われているNSW送付先DB。この画面のほかに,一覧画面,ラベル印刷のプレビュー画面などがある
[画像のクリックで拡大表示]

 日経ソフトウエアは2008年7月号(好評発売中)をもって創刊10周年を迎えた。読者の皆さんが応援してくださった結果であり,この場を借りて深く感謝したい。記者は創刊の年,1998年にこの編集部に異動してきた。最初に取り組んだ仕事は,編集部に不仲をもたらしていたある問題を,インハウスのソフトウエア開発で解決することだった。その時作った「NSW送付DB」というソフトは,10年を経た今でも使われている(図1)。10年間動いてしまった…,と考えると,納得できないような,嬉しいような,割り切れない気持ちになる。

 日経ソフトウエア編集部に不仲をもたらしていたある問題とは,「毎号の送付作業がスムーズに運ばない」というものだった。雑誌が印刷されるとその号を,寄稿してくれた筆者さん,取材に応じてくれた方などに送付するのは編集部の仕事である。最初は編集部のアシスタントに送付先の名刺を渡したり,電子メールで送付先を伝達したりしていた。アシスタントはクレオのはがき印刷ソフト「筆まめ」に送付先の情報を入力して宛名ラベルの印刷をしていた。しかし,この方法では「以前送ったAさんにまた送って」という依頼の処理が難しい。個々の編集者は「過去データがあるだろ」と思って送付先住所を省力したいのだが,アシスタントとしては,過去データを一つひとつひっくり返してAさんの情報を探し出すのは不可能だったのだ。「できるでしょ」「できません」で,両者の関係は看過できないほどに険悪になっていた。

 そこで作ったのが図1の「NSW送付DB」だ。Delphiで作ったWindowsアプリケーションで,ファイル共有型のデータベースBDE(Borland Database Engine)を使っている。当時の筆者はとても無知で,今考えると信じられないようなコードを書いている。それでも,編集部のニーズはそれなりに満たし,険悪な雰囲気は解消された。そのあと10年間使われ続け,現在もリライトの計画はない。「動いているものに手を着けるな」という格言はしっかり守られてしまっている。

13年前のVB2ソフトは動くか?

図2●1995年にリリースした「D-MAGビューアー」のバージョン1を,Windows Vista(32ビット)で動かした様子(1995年7月号のコンテンツを表示)
図2●1995年にリリースした「D-MAGビューアー」のバージョン1を,Windows Vista(32ビット)で動かした様子(1995年7月号のコンテンツを表示)
[画像のクリックで拡大表示]

 自分が書いた他のソフトも気になってきた。特に,1995年から2000年にかけて日経WinPCの付録CD-ROMで配布していた「日経WinPC D-MAGビューアー」が気にかかった。昔のソフトを久しぶりに動かすのは本当に勇気がいる。「動かなかったらどうしよう…」とブルブルしながらWindows Vista Service Pack 1のマシンで動かしてみた。

 結果は少々長くなるが,お許し願いたい。1995年に配布を開始したD-MAGビューアーのバージョン1(Visual Basic 2.0で作成)は,32ビット(x86)のVista上で動いた(図2)。セットアップ時に「引数が有効範囲にありません」というエラー・メッセージが出るが,CD-ROMコンテンツの閲覧に,特に支障はないようだ。ただし,このバージョン1は16ビットのアプリケーションなので,64ビット(x64)のVistaではまったく動かない。

 1996年に配布を開始したD-MAGビューアーのバージョン2(Visual Basic 4.0で作成,16ビット版と32ビット版がある)の32ビット版と,1998年に配布を開始したバージョン3(Visual Basic 5.0で作成,32ビット版のみ)は,64ビットのVistaで動作した。新しいD-MAGビューアーで古いD-MAGコンテンツを閲覧することは可能なので,64ビットWindowsが主流になっても,1995年の付録CD-ROMをなんとか閲覧できそうだ。

動かなくなる日が怖い

 上記二つのソフトは今のところ動いているが,正直,動かなくなる日がとても怖い。保守作業をしていないので,次に動かなくなったときに,短い時間でデバッグできる自信がない。フルに書き直すことは可能だろうが,その時間を捻出できるかどうか。「誰かが同等品を作ってくれればいいなあ」と夢見たりするが,外注する資金もないし,他の人に引き渡すためのドキュメントも不十分だ。NSW送付DBについては,CSVファイルに出力する機能は作ってあるので,データ移行は難しくないはずだが…。

 動かなくなる前に使われなくなって,誰も動かなくなったことに気付かないのが一番望ましい。しかし,いつもそううまくいくとは限らない。「ソフトウエアは,開発者が思っているよりもはるかに長く使われる」。どこかで読んだそんな言葉を反すうしている。