Interested Article - Раздутое программное обеспечение

Раздутое программное обеспечение ( англ. bloatware, fatware, elephantware ) — программа, имеющая слишком много дополнительных функций, на работу которых уходит непропорционально много ресурсов системы , в особенности если эти функции не нужны или малополезны для работы программы (такие функции часто называют « » (англ.) , « » (англ.) , дословно: «бубенчики и свистульки») .

У английского термина bloatware (также англ. crapware, shovelware ) существует также второе значение, которое относится к ресурсоёмкому предварительно установленному программному обеспечению , которое пользователю не нужно, но навязывается ему производителями компьютеров, планшетов, смартфонов и т. д.

Общее описание

Технически раздутое программное обеспечение чаще всего ассоциируется с понятием «расползание возможностей», или «ползучий улучшизм» (« » (англ.) ), которое обозначает тенденцию разработчиков добавлять в программный продукт больше и больше возможностей в попытке «не отстать от конкурентов», однако приводящую фактически к созданию более медленного и менее эффективного изделия . Согласно озвученным в 2002 году данным исследований, только 20—25 % функций программных продуктов использовались всегда или часто, тогда как до 45 % функций вообще никогда не использовались. По мнению Мартина Фаулера , большинство проектов должны были бы иметь лишь четверть от их существующего размера .

Раздувание сказывается не только на производительности программ: увеличение объёма программного кода приводит к росту затрат на его обслуживание и развитие. К тому же плохо проработанные дополнительные функции могут стать источником уязвимостей .

Вклад в «раздувание возможностей» вносит также «эффект второй системы», описанный Фредериком Бруксом ещё в 1975 году: программист, разрабатывающий свою вторую систему, склонен добавлять все те возможности, которые он не смог добавить в свою первую систему (из-за нехватки времени), поэтому вторая система часто получается перегруженной возможностями.

Известные ИТ-специалисты о раздувании программ

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

Вирт указал на два шутливых «закона», которые тем не менее верно отражают ситуацию:

  • Закон Паркинсона : программное обеспечение увеличивается в размерах до тех пор, пока не заполнит всю доступную на данный момент память.
  • Закон Рейзера : программное обеспечение замедляется более быстро, чем аппаратура становится быстрее .

Два фактора вносят вклад в приятие потребителями программного обеспечения всё более растущих размеров: быстро увеличивающаяся аппаратная производительность и игнорирование принципиальной разницы между жизненно важными возможностями и теми, которые «хорошо бы иметь» .

использовал выражение «software is a gas» («программа — это газ»), чтобы описать следующий феномен: вне зависимости от степени усовершенствования аппаратного обеспечения разработчики всегда имеют тенденцию добавлять функциональность, чтобы заставить свои программы натолкнуться на границы этой производительности .

Отношение к раздуванию программного обеспечения

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

  • С прогрессом микроэлектроники аппаратное обеспечение, на котором новая версия способна работать, часто оказывается даже дешевле. Например, Excel 1.0 потреблял 36 долл. дискового пространства по ценам 1993 года, Excel 2000 — 1,03 долл. по ценам 2000 года.
  • Оптимизация экономически оправдана только в ключевых точках программы. Вовремя вышедшая программа важнее хорошо оптимизированной (в крайнем случае можно выпустить патч ).
  • Хотя типичный пользователь использует 20 % функций, у разных пользователей эти 20 % разные. Поэтому, если написать облегчённую программу, в которой реализованы только 20 % функций, есть риск сильно сузить круг её пользователей.

Примеры

Сравнение минимальных требований Windows (версии x86 )
Версия Windows Процессор Память Размер на диске
Windows 95 25 MHz 4 MB ~50 MB
Windows 98 66 MHz 16 MB ~200 MB
Windows 2000 133 MHz 32 MB 650 MB
Windows XP (2001) 233 MHz 64 MB 1.5 GB
Windows Vista (2007) 800 MHz 512 MB 15 GB
Windows 7 (2009) 1 GHz 1 GB 16 GB
Windows 8 (2012) 1 GHz 1 GB 16 GB
Windows 10 (2015) 1 GHz 1 GB 16 GB
Windows 11 (2021) 1 GHz 4 GB 64 GB

Сайт Switched Downloadsquad опубликовал в 2008 году примеры наихудших программ в категории «elephantware», то есть «раздутых программ, которые заставляют новейшие персональные компьютеры загружаться подобно Pentium 2 с 64 MB оперативной памяти» . Были названы следующие программы:

Хорошим примером, иллюстрирующим рост требований, являются системные требования для установки ОС фирмы Microsoft. Как видно, их рост происходил явно непропорционально появлению новых возможностей. При этом следует иметь в виду, что отчасти это объясняется «усечением» возможностей Windows в зависимости от лицензии, в то время как основные системные файлы остаются в прежнем количестве. Минимальные требования для Windows 10 остались теми же, что Windows 7, в то время как пользователи и тестировщики отмечают фактический рост потребления памяти. Следовательно, сохранение минимальных требований носит в известной части рекламный характер.

Часто в качестве примеров неоправданного раздувания приводится Nero Burning ROM . В течение жизненного цикла пакет этой программы обзавёлся графическим и звуковым редактором, аудио- и видеоплеером, а также альтернативной версией программы записи с упрощённым интерфейсом, всё это снабжалось специальной программой-оболочкой для запуска и имело сложные графические стили оформления .

Противодействие раздуванию

Прямой противоположностью раздувания является принцип KISS , запрещающий усложнение систем, если они и так хорошо работают. Также против раздувания направлен первый принцип философии Unix .

В 2014 году Южная Корея законодательно обязала разработчиков ПО для смартфонов обеспечить возможность принудительного удаления нежелательного раздутого ПО («unnecessary pre-installed bloatware»). Этот шаг был вызван участившейся практикой предварительной установки на смартфоны ненужного ресурсоёмкого программного обеспечения, не поддающегося удалению стандартными средствами .

Примечания

  1. . Дата обращения: 20 сентября 2013. 21 сентября 2013 года.
  2. Александр Клименков. от 22 сентября 2013 на Wayback Machine // Компьютерра, № 4, 10.02.2008
  3. . Дата обращения: 12 августа 2016. 20 сентября 2016 года.
  4. . Дата обращения: 20 сентября 2013. Архивировано из 21 сентября 2013 года.
  5. . Дата обращения: 27 июня 2017. 15 мая 2018 года.
  6. Brad Chacos. от 28 июня 2017 на Wayback Machine // PC World, 26.02.2015
  7. Eric Griffith. от 6 июля 2017 на Wayback Machine // PC World, 10.02.2017
  8. от 14 октября 2013 на Wayback Machine // Хакер, №055 (спецвыпуск), с. 55-56
  9. . Дата обращения: 20 сентября 2013. 21 сентября 2013 года.
  10. Martin Fowler . от 29 декабря 2016 на Wayback Machine , 02 July 2002
  11. Никлаус Вирт. . 16 сентября 2011 года.
  12. Ed Perratore, Tom Thompson, Jon Udell, Rich Malloy. // Byte. — апрель 1993. — Vol. 18, № 4 . — P. 98—108.
  13. Guoqing Xu, Nick Mitchell etc. // Proceedings of the FSE/SDP workshop on Future of software engineering research. Pages 421—426. (недоступная ссылка) .
  14. From ACM's SIGPLAN publication, (September, 1982), Article "Epigrams in Programming", by Alan J. Perlis of Yale University.
  15. . Дата обращения: 2 сентября 2008. 5 июля 2008 года.
  16. . Дата обращения: 22 июля 2007. 7 августа 2007 года.
  17. . Дата обращения: 22 июля 2007. 4 ноября 2010 года.
  18. . Дата обращения: 29 августа 2007. 12 сентября 2007 года.
  19. . Дата обращения: 22 июля 2007. 5 июля 2006 года.
  20. . Дата обращения: 22 июля 2007. 3 июля 2007 года.
  21. . Дата обращения: 9 октября 2009. 18 июня 2016 года.
  22. . — «"Windows 8 Release Preview works great on the same hardware that powers Windows 7"». Дата обращения: 12 августа 2012. 5 марта 2012 года.
  23. . www.computerworld.com. Дата обращения: 29 марта 2015. 18 марта 2015 года.
  24. . Дата обращения: 27 сентября 2021. 4 октября 2021 года.
  25. Jack Schofield. от 15 мая 2018 на Wayback Machine // www.theguardian.com, Software Technology blog 2008
  26. Cassia, Fernando . The Inquirer (27 февраля 2007). Дата обращения: 7 марта 2007. Архивировано 2 марта 2007 года.
  27. Ryan Huang. от 21 октября 2016 на Wayback Machine // zdnet.com, January 24, 2014
Источник —

Same as Раздутое программное обеспечение