2009年02月27日

ソフトウェアはくさらないし壊れない

 オーツは、プリンタでさえも15年も使っていて、家電製品と同様に、壊れるまでずっと使い続ける主義であることを書きました。
2008.12.5 http://o-tsu.seesaa.net/article/110702934.html
 プリンタは、最近ようやく買い換えましたけれど。
2009.2.23 http://o-tsu.seesaa.net/article/114669491.html
 パソコン関連のものは、だいたい数年で古くなっていくことが多いと思います。だからパソコン本体も買い換えたりするわけです。
 そんな中でもっとも長く使っているものは何かといえば、ソフトウェアです。中でも、自作ソフトが一番長くなっています。
 その中の一つは、もう30年以上使っています。FORTRAN で書いてあります。基本的なコーディングをしたのが(オーツの学生時代の)1975 年で、そのころからだんだん手を入れながら使っているわけですが、骨格は変わっていません。計算すると34年使っていることになります。
 当初は、大型計算機を使ってパンチカードとラインプリンタで動いていました。その後、パソコンが進歩してきたので、DOS の上で動くようになりました。パソコン用の FORTRAN 処理系(コンパイルして実行可能プログラムを生成するソフト)はいくつか買い換えました。今は Windows 上で動くようになりましたが、オーツのソフトは基本的な設計が古く、コマンドプロンプトの上で動きます。
 なぜこんなに長く使っているかといえば、ソフトは時間が経っても壊れることがないからです。これを端的に表現すれば「ソフトウェアはくさらない」ということになります。
 自分で作ったものは、すみずみまで知っていますから(いや、最近はそうでもなくて忘れたりしていることも多いのですが)安心です。バグと呼ばれるプログラムのミスは、たぶんなくなっているでしょう。長年使ってきたので、「枯れた」状態になっているというわけです。
 最近は、新しい機能を付け加えることがおっくうに感じるようになりました。自分でプログラムを書くのが大変に感じるのです。集中して時間を使うことができないという状況も大いに影響しているでしょう。忙しすぎるのですね。
 大型機時代から移植しつつ使い続けているソフトはこれ一つだけなので、これがオーツが使っている最長ソフトということになります。
 あえていえば、30年前くらいに、このソフトをメンテナンスするためのソフトを作ったのですが、それもかなり長く使っていることになります。まあ、こちらはめったに使いませんが。
 FORTRAN でプログラムを作る場合、サブルーチン(部品のようなプログラム)を多用していると、何が何を呼び出しているのか、わかりにくくなります。大型機でも、そのメモリは今のパソコンよりはるかに小さかったですから、プログラムのオーバーレイなどという概念があり、小さな主記憶量でなるべくデータ領域をたくさん確保したい場合、狭いプログラム領域にいろいろなプログラムを順次呼び出しながら実行するようにします。そのためには、自分の作ったプログラムの部品がお互いの間でどのように呼び出されているかを把握して、その呼び出しの相互関係を心得た上で最適なオーバーレイ構造をプログラム作成者が用意してやらなければなりません。そこで、FORTRAN で書かれたソースプログラム全体を読み込んで、その中にどんなサブルーチンや関数があるのか、それらが互いにどのように呼び出し合っているのかを解析するソフトを作りました。
 今は、こんなソフトを使うこともほとんどありません。主記憶のメモリが大量にありますから、オーバーレイなんて考えず、単純に大きなメモリを確保した形でコンパイルすれば、あとは処理系のほうで(オーバーレイに当たる動作を)適当にやってくれます。時代は変わりました。
 しかし、元の FORTRAN プログラムに機能を追加するなど、メンテナンスするときに、この解析ソフトを使うことがあります。

 それにしても、コンピュータの世界で、ソフトウェアが一番長持ちするのだということは、以前は思いもよりませんでした。

posted by オーツ at 05:29| Comment(0) | TrackBack(0) | パソコンとIT | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック