ヴィルトの法則
From Wikipedia, the free encyclopedia
ヴィルトの法則(ヴィルトのほうそく、英: Wirth's law)は、ニクラウス・ヴィルトによる1995年に発表された記事A Plea for Lean Softwareにおける議論に由来する警句で、コンピュータのプログラム(ソフトウェア)とハードウェアの成長(growth)と性能のバランスに関して「ソフトウェアは、ハードウェアが高速化するより急速に低速化する」とするものである[1][2]。
ヴィルトはこの言葉をOberonについての彼の著書 (1991) の序文で Martin Reiser が書いた「その希望とは、ハードウェアの進歩がソフトウェアの病気を全て癒すだろうことである。しかし注意深く見れば、ソフトウェアの巨大化と緩慢化はハードウェアの進歩を超えていると気付く」という文章が元だとしている[3]。このような傾向は1987年ごろには早くも明らかになりつつあり、同様のことを先に言及した者も少なくない[4]。
多くの分野でハードウェアが時と共に高速化している現象が見られる。特にCMOSロジックが使われるマイクロコンピュータ革命以降のコンピュータは、ムーアの法則に従ったプロセスルールの微細化によって、デナード則により、縮小されたこと以外はそのままであっても、その縮小率に応じて高速化している(2016年現在では、消費電力の低下が法則通りにならなくなっていることから、必ずしもそうではないが)。ヴィルトの法則は、現実社会においてポピュラーなプロダクトが、その高速化以上に膨れ上がって(bloat)いるために(ソフトウェアの肥大化)、ユーザから見れば以前と同じだけの仕事をさせるのに、かえって遅くなってはいまいか、という問題提起と言える。
似たことを2009年、Google創業者ラリー・ペイジも述べている。そちらをペイジの法則と呼ぶ[5]。名付け親はセルゲイ・ブリンで、Google I/O Conference 2009 でのことである[6]。
| 「 | ソフトウェアのスピードは18カ月で半分になる[7] | 」 |
ゲイツの法則はヴィルトの法則からの派生と言える。観測結果にユーモアと皮肉を交えて、商用ソフトウェアが18カ月で50%低速化することでムーアの法則による高速化が相殺されることを意味している(18カ月というのは、俗に信じられている、「ムーアの法則によりハードウェアのスピードが倍になる」のに要する時間、のことである)。それが起きる原因としては様々なものがあるが、機能を詰め込みすぎること、コーディングが稚拙なこと、開発者の怠慢、管理者の交代で設計方針がころころ変わることなどが挙げられる[8]。ジャーゴンファイルにも収録されているが、その項にある語釈によれば、ビル・ゲイツの名はマイクロソフトのことを指しており、同社が、業界におけるそういった行いをする企業の代名詞だからだ、ということである[7](2015年現在では、そのあたりはだいぶ評価が変わっているかもしれない)。