Закон Вирта

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

«Закон Вирта» — шуточное высказывание Никлауса Вирта (1995) в духе законов Паркинсона: «программы становятся медленнее куда шустрее, чем компьютеры становятся быстрее»[1][2], используемое для демонстрации нарастающих проблем с производительностью программного обеспечения, несмотря на прогресс аппаратного.

Вирт атрибутировал «закон» Мартину Райзеру, который в предисловии к книге об операционной системе Оберон написал: «есть мнение, что прогресс в аппаратной части излечит все недостатки программ, однако внимательный наблюдатель может заметить, что программы перерастают компьютеры в размерах и медлительности»[3][4].

Позднее аналогичное наблюдение стали иногда называть законом Пейджа по имени сооснователя Google Ларри Пейджа, обратившего внимание на сходный эффект в 2009 году[5][6]. Близкий вариант шутки — закон Гейтса (по имени основателя Microsoft Билла Гейтса): программы становятся в два раза медленнее каждые полтора года[7][8], в этом случае демонстрируется, что удвоение количества транзисторов на интегральной схеме, предсказываемое законом Мура, сводится на нет деградацией в производительности программного обеспечения за тот же период времени.

Несмотря на то, что в хоть какой-либо общности наблюдение нельзя ни подтвердить, ни опровергнуть, у него есть ряд объективных объяснений, одно из основных — феномен раздувания программного обеспечения, также деградация производительности может сопутствовать «индустриализации» процесса разработки, росту масштабов проектов, снижающих качество кода и управления разработкой[9], возможно — имеют место эффекты, сходные с парадоксом Джевонса (повышение потребности в вычислительной мощности по мере роста её доступности).

Примечания[править | править код]

  1. Philip E. Ross. 5 Commandments (англ.) // IEEE Spectrum : magazine. Архивировано 24 июня 2009 года.
  2. Никлаус Вирт. A Plea for Lean Software (неопр.) // Computer. — 1995. — February (т. 28, № 2). — С. 64—68. — doi:10.1109/2.348001. «Software is getting slower more rapidly than hardware becomes faster»
  3. англ. The hope is that the progress in hardware will cure all software ills. However, a critical observer may observe that software manages to outgrow hardware in size and sluggishness.
  4. Reiser, Martin. The Oberon System User Guide and Programmer's Manual (англ.). — Association for Computing Machinery, 1991. — ISBN 0-201-54422-9.
  5. Can "Page's Law" Be Broken?. Slashdot. Архивировано 30 июля 2012 года.
  6. searchengineland. Sergey Brin On Breaking "Page's Law" Of Software Sluggishness. YouTube (27 мая 2009). Дата обращения: 27 мая 2009.
  7. Gates’s Law: «The speed of software halves every 18 months»
  8. Communications News (July 2005). «Siemon exceeds one million 10G-ready copper ports world-wide.», Communications News
  9. Orion, Egan (March 21, 2003). «WinTel trips on Linux? Архивировано 12 сентября 2012 года.», The Inquirer.

Литература[править | править код]

  • «Уроки Никлауса Вирта: искусство простоты», авторы: Ласло Бёсёрменьи, под редакцией Йюрга Гуткнехта и Густава Помбергера; издательство Morgan Kaufmann Publishers, 2000, ISBN 1-55860-723-4.