Закон Вирта

Никлаус Вирт во время визита в Уральский государственный университет в 2005 году

«Закон Вирта» — шуточное высказывание Никлауса Вирта (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. Архивировано 20 ноября 2008 года. «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. Архивировано 19 июля 2010 года.
  7. Gates’s Law: «The speed of software halves every 18 months». Дата обращения: 12 мая 2011. Архивировано 4 июня 2011 года.
  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.