[ トップページ ]
数学・計算・情報学・プログラミング:プログラミングとコンパイラ

群盲,象プログラムをなでる状態からの脱却

これから書くことは,「わかっている」 ひとにとってはあたりまえのこと,あるいはまだおまえは十分わかっていないといわれることかもしれないのですが,一般にはプログラム全体を理解することの重要性がまだよく理解されていないとおもわれるので,書くことにします.

企業でソフトウェアの研究開発にかかわっているひとのなかで,実用的ないし準実用的なプログラムの全体を自分で書いた,ないし全体を把握した経験があるひとは,すくなくとも日本においては,かならずしもおおくないようにみえます. 会社にはいって目にするのは,1 人ではあつかいきれない規模のプログラムであるばあいがおおいので,(たとえ大規模プログラムの全体に責任がある立場にあっても) 全体を把握した経験がなく,そういうものだ / それしかしょうがない とおもっているようにみえます. プログラムは設計だけすればよくて,プログラム (というよりは 「コード」 という,ばかにしたようなことばでよばれることがおおい) をみる必要はないとおもっているひともおおいようにみうけられます. しかし,これはおおまちがいだとおもいます.

よのなかにでまわっているプログラムのおおくは,ほんとうに必要な規模よりはるかにおおきく,複雑になっています. そうなるのは,怠惰のためにプログラムがきちんと洗練されていないからだというばあいもありますが,おおくは群盲,象をなでる状態,つまりプログラムの機能のうち一部しか理解せずにそれを書いてしまうからそうなるのだとおもわれます. こうなってしまうのは,最初に書いたようにプログラム全体を把握した経験があるひとがすくないからです. 全体が把握できないのは能力がひくいからではなくて,経験がないからです. ある程度 (たとえば数 1000 行) の規模のプログラムをひとりで書く,あるいはその全体を把握するという訓練をすれば,事態は改善するのではないかとおもわれてなりません.

私は,たとえば 「Java による対話 (チャット) のプログラム例」 というプログラムを公開することによって,すこしでもそういう方向に寄与することができないものかとおもっています.

キーワード: 大規模プログラム, 群盲象をなでる, 部分的理解, 全体把握, 経験不足

トラックバック

このエントリーのトラックバックURL:
http://www.kanadas.com/mt/mt-tb.cgi/391

コメントを投稿

Google でブログを検索:

メインページアーカイブページも見てください.
Creative Commons License
このブログはつぎのライセンスで保護されています. クリエイティブ・コモンズ・ライセンス.
Powered by
Movable Type