Раздувание программного обеспечения | это... Что такое Раздувание программного обеспечения? (original) (raw)

Раздува́ние програ́ммного обеспе́чения (англ. software bloat, bloatware) — тенденция новых программ быть больше по объёму и требовать больше системных ресурсов по сравнению со старыми[источник не указан 267 дней].

Никлаус Вирт в 1996 году написал статью «Долой „жирные программы“», подняв проблему программ, для которых рост требований к ресурсам превышает рост их функциональности и производительности.[1] Термин «жирные программы» (fatware) позаимствован из статьи Э. Перраторе 1993 года.[2]

Содержание

Причины

Проблемы с содержанием статьи Возможно, этот раздел содержит оригинальное исследование. Добавьте ссылки на источники, в противном случае он может быть удалён.Дополнительные сведения могут быть на странице обсуждения.

Юмористический закон

Каждая программа расширяется, пока она не сможет читать почту. Программы, которые не могут читать почту, заменяются теми, которые могут.

Закон экстенсивного программирования
Джейми Завинского[3]

Пример 1: системные требования Microsoft Windows

Сравнение минимальных конфигураций компьютера для разных версий Microsoft Windows (по данным Microsoft):

Версия ОС Частота процессора Оперативная память Место на диске
Windows 95[4] 25 МГц 8 Мб ~50 Мб
Windows 98[5] 66 МГц 24 Мб 140—255 Мб
Windows ME[6] 150 МГц 32 Мб 320 Мб
Windows 2000 Server[7] 133 МГц 64 Мб 1 Гб
Windows XP (2001)[8] 300 МГц 128 Мб 1,5 Гб
Windows Vista (2007)[9] 800 МГц 512 Мб 15 Гб
Windows 7 (2009)[10] 1 ГГц 1 Гб 16 Гб

Пример 2: вывод списка файлов

Во времена MS-DOS файловые менеджеры (такие как NC или VC) осуществляли вывод списка файлов практически мгновенно. В современных системах, несмотря на многократно возросшую мощь компьютеров, вывод списка файлов занимает довольно длительное время — это связано главным образом со сложной системой иконок файлов, которые во многих случаях генерируются в зависимости от содержания файла. Таким образом, если раньше программе требовалось только получить список файлов и отсортировать его, то теперь требуется для каждого файла либо заглянуть в реестр (чтобы узнать, какая иконка соответствует данному расширению имени), либо прочитать этот файл, чтобы сгенерировать подходящую иконку. Исключением из этого являются файловые менеджеры FAR (консольное приложение, не отображает иконок) и Total Commander (опционально можно использовать фиксированный внутренний набор иконок в зависимости от расширения файла либо вообще не отображать иконки).

Отношение к раздуванию ПО

Пользователи, как правило, относятся к раздутому ПО отрицательно. По мнению Джоэла Спольски, зря,[11] по следующим причинам:

Альтернативы раздутому ПО

Проблемы с содержанием статьи Возможно, этот раздел содержит оригинальное исследование. Добавьте ссылки на источники, в противном случае он может быть удалён.Дополнительные сведения могут быть на странице обсуждения.

Сходные явления

Функции для галочки

С раздуванием программного обеспечения связан такой феномен, как «функции для галочки». Этим термином называют функции, наспех сделанные исключительно для того, чтобы указать в рекламном проспекте, что эта функция есть.

Раздувание кода

Проблемы с содержанием статьи Возможно, этот раздел содержит оригинальное исследование. Добавьте ссылки на источники, в противном случае он может быть удалён.Дополнительные сведения могут быть на странице обсуждения.

Программный код, который пишется несколькими людьми (или одним в течение длительного времени) часто подвержен раздуванию. Признаками этого являются:

Причинами могут быть:

Против раздувания кода помогает серьёзный рефакторинг — но затраты на него могут быть настолько велики, что приходится держать «взрывоопасный» код[_неизвестный термин_] «до последнего».

Фичакрип, или «раздувание функциональности»

К концу разработки выясняется, что для сдачи законченного продукта требуется реализовать всё больше и больше функций, «и все нужны».[12]

Примечания

  1. Никлаус Вирт. Долой «жирные» программы.
  2. E. Perratore и др. Fighting Fatware // Byte. — апрель 1993. — Vol. 18. — № 4. — P. 98—108.
  3. Один из авторов Netscape Navigator. См.: Jargon File.
  4. Microsoft KB: Windows 95 Installation Requirements. Microsoft (23 апреля 2007). Архивировано из первоисточника 15 марта 2012. Проверено ???.
  5. Требования к аппаратному обеспечению для установки Windows 98. Microsoft (30 декабря 2004). Архивировано из первоисточника 15 марта 2012. Проверено ???.
  6. Минимальные аппаратные требования для установки Microsoft Windows Millennium Edition. Microsoft (3 октября 2004). Архивировано из первоисточника 15 марта 2012. Проверено ???.
  7. System requirements for Microsoft Windows 2000 operating systems. Microsoft (13 ноября 2007). Архивировано из первоисточника 15 марта 2012. Проверено ???.
  8. Системные требования для операционных систем Windows ХР. Microsoft (25 января 2006). Архивировано из первоисточника 15 марта 2012. Проверено ???.
  9. Системные требования для Windows Vista. Microsoft (28 мая 2007). Архивировано из первоисточника 15 марта 2012. Проверено ???.
  10. Системные требования для седьмой винды 7. Архивировано из первоисточника 5 февраля 2012.
  11. Strategy Letter IV: Bloatware and the 80/20 Myth
  12. Featurecreep GameDev.ru