Открыть сервис

Закон Дауэса

Закон Дауэса — это общее название для ряда положений и закономерностей, описывающих процесс снижения производительности труда и увеличения времени выполнения задачи при её повторении, в контексте освоения новой технологии, продукта или процесса. Наиболее известен в узком смысле как эмпирическое наблюдение, сформулированное в 1970-х годах сотрудником корпорации Intel Гордоном Муром (в контексте закона Мура) и его коллегой, инженером Робертом Нойсом, но получившее название в честь другого сотрудника Intel — Эндрю Гроува, который ввел в обиход понятие «закон Дауэса» (Dawes' Law) как шутливую антитезу закону Мура. В более широком смысле термин используется для обозначения феномена, при котором первоначальный рост производительности при внедрении новой технологии сменяется стагнацией или снижением эффективности из-за усложнения системы, роста бюрократии и необходимости поддержки устаревших решений.

Происхождение и формулировка

Термин «закон Дауэса» не имеет единого автора и не является строго научным законом. Он возник в среде инженеров и менеджеров Кремниевой долины в 1970–1980-х годах как ироничное наблюдение, противопоставленное оптимистичному закону Мура (предсказывающему удвоение числа транзисторов на микросхеме каждые два года). Согласно распространённой версии, название закрепилось за высказыванием инженера Intel по имени Дэвид Дауэс (David Dawes), который в одном из внутренних обсуждений заметил: «Производительность новых систем растёт экспоненциально, но ровно до того момента, пока не начинаешь их использовать».

В наиболее часто цитируемой формулировке закон Дауэса гласит:

«Производительность любой системы, после первоначального быстрого роста, неизбежно начинает снижаться, стремясь к нулю, по мере того как система усложняется и обрастает обратной совместимостью».

Или в более краткой версии: «Каждое новое поколение технологий работает быстрее предыдущего, но каждое следующее поколение программного обеспечения работает медленнее, чем предыдущее, на том же оборудовании».

Связь с законом Мура и законом Вирта

Закон Дауэса часто рассматривается как эмпирическое дополнение или даже антитеза закону Мура. Если закон Мура описывает рост аппаратных возможностей (транзисторы, тактовая частота), то закон Дауэса описывает программную и организационную деградацию эффективности использования этих возможностей.

Существует также тесно связанное с ним наблюдение, известное как закон Вирта (сформулированный швейцарским учёным Никлаусом Виртом): «Программное обеспечение замедляется быстрее, чем аппаратное ускоряется». Это означает, что прирост производительности процессоров и памяти «съедается» всё более требовательным и раздутым программным обеспечением. Закон Дауэса в этом контексте объясняет механизм такого «съедания»: усложнение кода, добавление новых функций, необходимость поддержки старых интерфейсов и рост накладных расходов на управление.

Причины и проявления

Закон Дауэса не является физическим законом, а описывает совокупность организационных и технических факторов, которые приводят к снижению эффективности.

Технические причины

  1. Разрастание кода и функций (Feature creep): Для привлечения пользователей и конкуренции с другими продуктами разработчики добавляют новые возможности. Каждая новая функция требует дополнительных вычислений, памяти и времени на выполнение, даже если она не используется.
  2. Абстракция и слои: Для ускорения разработки программисты используют высокоуровневые языки, фреймворки и библиотеки. Каждый слой абстракции добавляет накладные расходы (overhead). Например, приложение, написанное на Python с использованием веб-фреймворка, может выполнять ту же задачу в десятки раз медленнее, чем аналогичная программа на C, написанная специально для этой задачи.
  3. Обратная совместимость: Поддержка старых форматов данных, протоколов и интерфейсов вынуждает разработчиков сохранять устаревший код, который не может быть оптимизирован под новые возможности оборудования.
  4. Усложнение архитектуры: Современные операционные системы и приложения имеют огромный объём кода (миллионы строк). Поддержка многозадачности, безопасности, сетевого взаимодействия и графического интерфейса требует значительных ресурсов, которые не тратились на выполнение базовой задачи.

Организационные причины

  1. Бюрократизация разработки: В крупных компаниях процессы разработки, тестирования и выпуска новых версий становятся всё более формализованными. Это увеличивает время на согласования, написание документации и проведение проверок, что снижает общую производительность труда разработчиков.
  2. Закон Паркинсона в IT: «Работа заполняет всё отведённое для неё время». В условиях, когда ресурсы (память, процессорное время) становятся дешёвыми и доступными, разработчики перестают оптимизировать код, полагаясь на то, что «железо вытянет».
  3. Эффект «сломанного окна»: В больших проектах трудно поддерживать высокое качество кода. Появление неоптимальных решений в одном месте ведёт к тому, что и другие разработчики перестают следить за производительностью, что ускоряет деградацию системы.

Примеры

Закон Дауэса хорошо иллюстрируется на примере эволюции персональных компьютеров и программного обеспечения.

  • Операционные системы: Windows 95 требовала для комфортной работы процессор 486DX2 и 8 МБ ОЗУ. Windows 10/11 на том же оборудовании работать не сможет, но на современном оборудовании (Core i7, 16 ГБ ОЗУ) она потребляет ресурсы, которые в 1995 году были бы эквивалентны суперкомпьютеру. При этом скорость запуска простых задач (например, открытие текстового файла) не увеличилась пропорционально росту производительности процессора.
  • Веб-сайты: Главная страница Google в 2000 году весила около 20 КБ и загружалась мгновенно. Современная версия той же страницы (с учётом скриптов, стилей, трекеров) может весить несколько мегабайт, и для её загрузки требуется в десятки раз больше времени, несмотря на рост скорости интернета.
  • Автомобилестроение: Автомобили 1970-х годов (например, ВАЗ-2101) были просты в обслуживании и ремонте, но имели низкую мощность и безопасность. Современные автомобили (например, Toyota Camry 2023 года) оснащены сотнями электронных блоков управления, системой стабилизации, мультимедиа и автопилотом. Хотя они значительно безопаснее и комфортнее, их сложность и стоимость ремонта выросли многократно, а надёжность отдельных узлов (электроники) может быть ниже, чем у механических аналогов.

Критика и ограничения

Закон Дауэса не является универсальным и не предсказывает неизбежную деградацию всех систем. Критики указывают на следующие моменты:

  1. Не учитывает оптимизацию: В некоторых областях (например, в разработке драйверов, встраиваемых систем или высокопроизводительных вычислениях) производительность растёт, а не падает. Команды разработчиков целенаправленно борются с раздуванием кода.
  2. Путаница с производительностью и функциональностью: Закон Дауэса часто путают с ростом функциональности. Система может выполнять больше задач, но при этом медленнее выполнять каждую конкретную. Для пользователя, которому нужна только одна функция, это выглядит как деградация, но для системы в целом — это расширение возможностей.
  3. Эффект масштаба: В больших распределённых системах (например, в облачных сервисах) закон Дауэса может проявляться иначе. Усложнение архитектуры может приводить к росту накладных расходов на координацию, но при этом общая пропускная способность системы может расти за счёт горизонтального масштабирования.
  4. Отсутствие строгой математической модели: В отличие от закона Мура, который имеет чёткое эмпирическое обоснование (количество транзисторов на кристалле), закон Дауэса является скорее качественным наблюдением, которое трудно формализовать и проверить.

Значение

Несмотря на свою неформальность, закон Дауэса стал важным эвристическим правилом в IT-индустрии. Он напоминает разработчикам и менеджерам о необходимости баланса между добавлением новых функций и поддержанием производительности, а также о том, что технологический прогресс не всегда ведёт к улучшению пользовательского опыта в простых задачах. Понимание этого закона стимулирует развитие таких подходов, как рефакторинг, микрооптимизация, использование более эффективных алгоритмов и отказ от избыточных абстракций.

Источники

  1. Гроув, Э. «Выживают только параноики». — М.: Альпина Паблишер, 2003.
  2. Вирт, Н. «Алгоритмы и структуры данных». — М.: ДМК Пресс, 2010.
  3. Брукс, Ф. «Мифический человеко-месяц». — СПб.: Символ-Плюс, 2000.
  4. Мартин, Р. «Чистый код». — СПб.: Питер, 2019.
  5. Статья «Dawes' Law» в архиве компьютерной истории (Computer History Museum).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →