2007年12月3日月曜日

効率の良い計算機のプログラミングとは

先日は,プログラミングの大前提は
計算速度の向上とメモリの節約であるとの話を書いた.

しかし,現在のプログラミングはそれだけではいけない.
それよりも大事なもの.
それがメンテナンス性である.

すなわち,誰が見ても,そのプログラム構造が容易に理解でき,
変更が容易に行えるようにプログラミングは
されていなければならない.

あるクライアントに,ソフトウェアを納めることとする.
数年後,プログラムに変更の必要があったとき,
再び自分がその仕事を行うとは限らない.

自分の部下や後輩,
あるいは全く別の会社のプログラマーが
行うことになるかもしれない.
そのときにプログラムが理解できない,では
まずいのである.
あるいはバグが生じやすい複雑な構造は,
望ましくないのである.

そこで,見た目にも機能的にも美しいプログラムを
書く必要が出てくる.
すなわち,メンテナンス性の良さが一番
プログラミングに要求されるスキルとなってくる.

そこで,何十枚,何百枚にもおよぶ状態遷移フロー図や,
プログラム本文の何十倍の量にもなるコメント文が,
必要となってくるのだ.

だから昔とは当然プログラミングの手法は変わってきている.
例えば,メモリの割り当ても,現在のように十分に大きなメモリが
使用できるのであれば,複雑なアロケーションはせずに,
単純に割り当てる方が,ずっとシンプルなプログラムになる.

確かに,個人においてもこれらのスキルは不可欠である.
私が3か月前に作成したプログラムがあっても,
コメントなしにはとても理解することができない.
自分が書いたものでさえ,この状態なのである.
まして他人が書くプログラムにいたっては...

(最近私は,一週間後の私は別人だと思っている.
その別人である私に向けてメモを残すようにしている)

効率の良いプログラミングは,
メモリの節約や計算速度の向上から,
メンテナンスの容易さにずいぶんとシフトしてきている.
すなわち総合的な作業量が最小化されるように,
効率化されていく.

今後は,スーパーコンピュータなどの特殊な用途だけに
メモリと速度向上のスキルは特化していくのだろう.

0 件のコメント:

コメントを投稿

金運上昇で有名な高龍神社に参拝する

私は 神社を参拝することは大好き なのだけれど, まだ地元長岡の神社をすべてお参りできたわけではない。今回は,金運アップで有名な(らしい)高龍神社にお参りしてきた。 初夏,学会で長岡にいらした方も「高龍神社」にわざわざ参拝に出かけられていたくらい金運アップで全国的に(一部,龍神フ...