山傘のプログラミング勉強日記

プログラミングに関する日記とどうでもよい雑記からなるブログです。

CODE COMPLETE 第2版 上 その2

第2章 ソフトウェア開発への理解を深めるメタファ

メタファとは比喩の一種であり、明示的にたとえてはいないものを指すそうです。コンピュータの世界には、ウィルスやフレームなど数多くの例えられた言葉があふれています。

メタファの重要性

科学の歴史にはメタファを利用した「モデリング」によって多くの理論が発見されていきました。例えば、蛇が自分の尾を加えている様子から着想を得たベンゼン環があります。ソフトウェア開発では、良いメタファと悪いメタファが溢れていて、メタファの理解がソフトウェア開発の理解に繋がります。

ソフトウェアメタファ

ソフトウェアメタファはアルゴリズムを表すというよりもヒューリスティックという意味合いが強いです。これらの違いは、問題を解く上でアルゴリズムは直接的な手法であり、ヒューリスティックは間接的な手法です。

ソフトウェア開発の最も根源的なメタファは「コードを書くこと」ということです。

CODE COMPLETE 第2版 上 完全なプログラミングを目指して

CODE COMPLETE 第2版 上 完全なプログラミングを目指して

感想

科学哲学チックな内容で似たものを読んだことがあるような気がしました。