10年前のプログラムを改修しなければならない。

10年前に作ったwindows用プログラムを改修しなければならない。
当時のOSはwindows98orwindows2000。開発環境はDelphi5。データベースを利用しているので、BDE(ボーランドデータベースエンジン)も使っている。ODBC経由でaccessのファイルを編集しているので、データそのものはaccess2007になっても問題なく開ける。
問題はDelphi5で作成したプログラム本体。今更Delphi5をインストールして改修するのも先を考えるとあまり現実的ではないと思う。BDEそのものもマルチコアのCPUだとエラーが出る状況があるとのこと。幸いなことに今稼働しているコンピューターではエラーが出ていないのが救いである。
だとするとWEBアプリへシフトするのも一つの解決策かもしれない。OSに依存せず、ブラウザの差異もあまり問題にならない。しかし、はがき印刷や宛名ラベル印刷があるので、WEBアプリというのもあまり現実的ではないかもしれない。PDFを使って印刷用のデータを作成する必要があるからだ。やはりWindowsアプリを作り直すのがスマートなのだろう。マイクロソフトのC#あたりが比較的容易に同等のものを短期間で作りやすい感じがする。元々Delphiを開発していたスタッフがC#を開発していた経緯があり、構造が非常によく似ている。

しかし、2010年に開発しても、いずれ改修するなり他のプログラムで運用したりとOSの都合で利用者は振り回されてしまう状況には代わりがない。クローズドなシステムだからと、古いOSで利用しても良いのだが、マシンが壊れた際、古いOSが稼働するマシンを手に入れることが出来なくなることがある。現にwindows98をネイティブでインストールできるマシンを調達するのは難儀である。ビジネスの観点からすれば、新しいOSを生産し販売し、常に買い換え需要を掘り起こすことは必要だろう。しかし、顧客は今の状態で不満もなく、すでに効率的に稼働している場合は、わざわざ更新する理由が存在しない。同じシステムを維持するために、新規案件を進めないといけない状況は、ちょっと申し訳なく思いながら、請け負うことにした。

2010年に作るプログラムは、いつまで稼働してくれるのだろうか。車と違ってプログラムは劣化しないのだから、できればずっと動いていただきたいものだ。