« ソフトウエアの設計と実装は、料理のレシピと食べ物の関係:うまいたとえだ | トップページ | トランジスタ技術7月号の特集は「スマホ・アプリで電子回路入門」:一般的な入門記事もある »

2015年6月23日 (火)

ソフトウエアが設計だけでは作れない理由:コンピュータの自由度の大きさが理由ではないだろうか?

 前回に引き続き、ソフトウエアの設計と実装の関係について、少し考えてみる。
 同じ記事の中で、「設計図と建物」はなぜ可能なのかについての発言を引用する。

 構造計算なんかは、もうノウハウとして、サイエンスとしてしっかりしている。構造計算をしっかりしておけば、実際に建ててみなくても建物の強度は分かる。そういう意味でいうと、ソフトウエアというのはある意味サイエンスにはまだなってない。作ってみなきゃいけないことがいっぱいある。

 この発言に続いて、ソフトウエアはサイエンスではなく、アートである、という話が出てくる。これは、昔から言われている話である。でも、なぜソフトウエアがサイエンスでないのだろうか?
 私が思うに、コンピュータの自由度の大きさが理由だ。コンピュータ上に仮想的に作られる対象は、あまりにも自由度が大きい。サイエンスで扱うには、対象の自由度が大きすぎるのである。
 建築の場合、現実世界の物理法則は変わらない。それが、建築という世界を貫く法則としてあり、それを基に設計することになる。これがサイエンスである。
 コンピュータでもハードウエア設計は、電気や熱などの物理法則に従って設計しなければならない。だからサイエンスだといえる。コンピュータサイエンスというのは、本来はハードウエアの世界で使う言葉だろう。
 では、ソフトウエアはどうなんだろう?仮想世界を貫く法則はない。仮想世界を記述する言語があるだけである。これは、確かに、サイエンスではなくアートに近い。
 つまり、本質的にソフトウエアは、サイエンスではないのである。サイエンスでない以上、設計と実装とを分離するという開発はあり得ない。

« ソフトウエアの設計と実装は、料理のレシピと食べ物の関係:うまいたとえだ | トップページ | トランジスタ技術7月号の特集は「スマホ・アプリで電子回路入門」:一般的な入門記事もある »

スキル」カテゴリの記事

技術」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/568535/61784870

この記事へのトラックバック一覧です: ソフトウエアが設計だけでは作れない理由:コンピュータの自由度の大きさが理由ではないだろうか?:

« ソフトウエアの設計と実装は、料理のレシピと食べ物の関係:うまいたとえだ | トップページ | トランジスタ技術7月号の特集は「スマホ・アプリで電子回路入門」:一般的な入門記事もある »

2017年12月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

公告

  • Google Adsense
無料ブログはココログ