ヴィルトの法則
ヴィルトの法則(ヴィルトのほうそく、英: 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年現在では、そのあたりはだいぶ評価が変わっているかもしれない)。
メイの法則
メイの法則は、コンピュータ科学者 David May の名を冠したバリエーションである。
「 | ソフトウェアの効率は18カ月で半減し、ムーアの法則を相殺する[9] | 」 |
関連項目
脚注
- ^ Niklaus Wirth (February 1995). “A Plea for Lean Software”. Computer 28 (2): pp. 64–68. doi:10.1109/2.348001. http://doi.ieeecomputersociety.org/10.1109/2.348001 2007年1月13日閲覧。.
- ^ Philip E. Ross. “5 Commandments”. IEEE Spectrum. http://www.spectrum.ieee.org/semiconductors/materials/5-commandments.
- ^ Reiser, Martin (1991). The Oberon System User Guide and Programmer's Manual. ACM Press. ISBN 0-201-54422-9
- ^ Geoffrey Welsh (1987). “Yes, There IS a Difference Between Micros and 'Big' Computers”. TPUG News 2 (1). オリジナルの2005年3月10日時点におけるアーカイブ。. https://web.archive.org/web/20050310224703/http://tpug.icomm.ca/nl/tn-v2n1.htm#YesThereISADifference.
- ^ “Can "Page's Law" Be Broken?”. Slashdot. 2013年1月29日閲覧。
- ^ searchengineland (2009年5月27日). “Sergey Brin On Breaking "Page's Law" Of Software Sluggishness”. YouTube. 2009年5月27日閲覧。
- ^ a b Gates's Law, from The Jargon Lexicon, in The Jargon File (version 4.4.7).
- ^ Orion, Egan (March 21, 2003). "WinTel trips on Linux?", The Inquirer.
- ^ Eadline, Douglas. “May’s Law and Parallel Software”. Linux Magazine. 9 May 2011閲覧。
参考文献
- The School of Niklaus Wirth: The Art of Simplicity by László Böszörményi, Jürg Gutknecht, and Gustav Pomberger (Editors), Morgan Kaufmann Publishers, 2000, ISBN 1-55860-723-4.