ソフト設計で重視してたこと

今でも自分が作ったパッケージが動いてるかどうか知りませんけど、末永く動くプログラムを設計するのに重要なのは安全・安定性を重視してました。その機種独特な言語だと移植性も低いですけど、SEQUOIA(UNIXもどきマシン)で設計したパッケージはC言語で書いてましたが、機種依存なものを使わずに設計してたので、IBM RS/6000にソースをそのまま持ってきて無修正で動かすこともできました。まあ、パッケージ自体がコンパクトでシンプルだったのもありますけど。Cライブラリも、バッファオーバーフローを引き起こすようなものは使わず、面倒でも安全なものを選定した記憶があります。

辞める数年前、hp NonStop Serverへのパッケージ移植に携わりましたが、耐障害性の問題もあったので、メーカーに安全なAPIを選定してもらって設計しました。社内へ提供したとき、注意点も含めて公開したにも関わず、各プロジェクトで自由にAPIが使われてたのには驚いた。まあ、辞める直前だったからどうでもいいやって思ってた。それと、汎用的に作っていたプログラムも、プロジェクト用に手直ししろとか言われて、それはプロジェクト側がうちらのプログラムをラップして作るのがルールなんだよって言っても聞いてくれなかったのが痛かった。結局知識を持ち合わせない人が上流工程に入って動かしてるとこうなるよなって例を見せられて反論しようにも、辞めるからどうでもいいやって気持ちが強かったから姑息(その場しのぎ)で仕上げて辞めましたよ。あとはどうにでもなれって思ってた。
Linuxなどでも開発してると思うけど、ライセンスとか守ってるのか疑問です。まあどうでもいいけど。

自分がやってた時は、例えばprintfがNGだったら同じ機能を持ったルーチンを安全なAPIで作ってました。そういった努力が見れられなかったので非常に危険だなって思ってたけどどうなることやら。GPL2なものも勝手に取り込んだりしてないか気になる。