Jump to content

Раздувание программного обеспечения

Раздувание программного обеспечения — это процесс, при котором последующие версии компьютерной программы становятся заметно медленнее, используют больше памяти, дискового пространства или вычислительной мощности или предъявляют более высокие требования к оборудованию, чем предыдущая версия, внося при этом только сомнительные улучшения, заметные пользователю, или страдают от ползучести функций . Этот термин не применяется последовательно; часто используют его в качестве уничижительного выражения конечные пользователи (раздутое ПО) для описания нежелательных изменений пользовательского интерфейса, даже если эти изменения мало или вообще не повлияли на требования к оборудованию. В долгоживущем программном обеспечении предполагаемое раздувание может возникнуть из-за того, что программное обеспечение обслуживает большой и разнообразный рынок с множеством различных требований. Большинство конечных пользователей почувствуют, что им нужно лишь некоторое ограниченное подмножество доступных функций, а остальные будут считать ненужным раздутием, даже если конечным пользователям с другими требованиями требуются эти функции.

Фактическое (измеримое) раздувание может произойти из-за преуменьшения акцента на эффективности алгоритмов в пользу других задач, таких как производительность разработчиков, или, возможно, из-за введения новых уровней абстракции, таких как виртуальная машина или другой механизм сценариев, для удобства, когда ограничения разработчика ограничены. уменьшенный. Ощущение повышения продуктивности разработчиков в случае практики разработки в средах виртуальных машин исходит от того, что разработчики больше не принимают во внимание ограничения и использование ресурсов во время проектирования и разработки; это позволяет быстрее завершить разработку продукта, но в качестве компенсации приводит к увеличению требований к оборудованию конечного пользователя.

Термин «раздутое ПО» также используется для описания нежелательного предустановленного программного обеспечения или встроенных программ . [1]

Типы раздувания [ править ]

Раздувание программы [ править ]

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

Причины [ править ]

Неэффективность программного обеспечения

Разработчики программного обеспечения, работавшие в этой отрасли в 1970-е годы, имели серьезные ограничения в вычислительной мощности, дисковом пространстве и памяти. Был учтен каждый байт и такт , и большая работа была потрачена на подгонку программ под доступные ресурсы. Достижение такой эффективности было одной из высших ценностей программистов, и лучшие программы часто называли « элегантными » — термин, используемый математиками для описания аккуратного, экономного и мощного доказательства.

К XXI веку ситуация изменилась. Ресурсы воспринимались как дешевые, а скорость написания кода и заголовки для маркетинга считались приоритетами. [2] Частично это связано с тем, что технологические достижения с тех пор увеличили производительность обработки и плотность хранения на порядки, одновременно снизив относительные затраты на такие же порядки (см. Закон Мура ). Кроме того, распространение компьютеров на всех уровнях бизнеса и домашней жизни привело к тому, что индустрия программного обеспечения во много раз выросла по сравнению с 1970-ми годами. Программы теперь обычно производятся группами под руководством комитетов в студиях разработки программного обеспечения (также известных как компании по разработке программного обеспечения или фабрики программного обеспечения), где каждый программист работает только над частью целого, над одной или несколькими подпрограммами . [ нужна ссылка ]

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

Другая причина раздувания — независимые конкурирующие стандарты и продукты, которые могут создать спрос на интеграцию. Сейчас существует больше операционных систем, браузеров, протоколов и форматов хранения, чем было раньше, что приводит к раздуванию программ из-за проблем совместимости. Например, программа, которая раньше могла сохранять только в текстовом формате, теперь должна сохранять в HTML, XML, XLS, CSV, PDF, DOC и других форматах.

Никлаус Вирт обобщил ситуацию в законе Вирта , который гласит, что скорость программного обеспечения снижается быстрее, чем увеличивается скорость аппаратного обеспечения.

В своем эссе 2001 года «Стратегическое письмо IV: раздутое ПО и миф 80/20 » [3] Джоэл Спольски утверждает, что хотя 80% пользователей используют только 20% функций (вариант принципа Парето ), каждый из них использует разные функции. Таким образом, «облегченные» версии программного обеспечения оказываются для большинства бесполезными, так как в них отсутствуют одна-две особенности, присутствующие в «раздутой» версии. Спольски резюмирует статью цитатой Джейми Завински, ссылающейся на Mozilla Application Suite (который позже стал SeaMonkey ):

«Хотя это было бы удобно, если бы это было правдой, Mozilla не велика, потому что она полна бесполезного дерьма. Mozilla велика, потому что ваши потребности велики. Ваши потребности велики, потому что Интернет велик. Существует множество маленьких, простых веб-браузеров. там, кстати, почти ничего полезного не делают [...] Но быть сияющей жемчужиной совершенства не было целью, когда мы писали Mozilla». [4]

Раздувание программного обеспечения также может быть симптомом эффекта второй системы , описанного Фредом Бруксом в «Мифическом человеко-месяце» .

Раздутое ПО [ править ]

Термин «раздутое ПО» может применяться к программному обеспечению, которое раздулось из-за неэффективности или увеличения функций, как описано выше. [3] Этот термин также обычно относится к программному обеспечению, предустановленному на устройстве, обычно производителем оборудования, которое в большинстве случаев нежелательно для покупателя.

Термин также может применяться к скоплению нежелательных и неиспользуемых элементов программного обеспечения, остающихся после частичной и неполной деинсталляции . Эти элементы могут включать в себя целые программы, библиотеки, связанную информацию о конфигурации или другие данные. В результате таких остатков производительность может в целом ухудшиться, поскольку нежелательное программное обеспечение или программные компоненты могут занимать память, тратить время обработки, добавлять дисковый ввод-вывод , занимать дисковое пространство и вызывать задержки при запуске и завершении работы системы. В худшем случае оставшееся программное обеспечение может помешать правильной работе нужного программного обеспечения. [5] Раздутое ПО можно легко удалить, если у пользователя есть root-доступ на своем устройстве, хотя процесс рутирования имеет свои преимущества и недостатки. [6] например, аннулирование гарантии производителя и отказ запускать определенное программное обеспечение на устройствах с root-доступом. [ нужна ссылка ]

Примеры [ править ]

Сравнение минимальных требований к оборудованию Microsoft Windows (для x86 версий )
версия для Windows Процессор Память Жесткий диск
Windows 95 [7] (1995) 25 МГц 4 МБ ~50 МБ
Windows 98 [8] (1998) 66 МГц 16 МБ ~200 МБ
Windows 2000 [9] (1999) 133 МГц 32 МБ 650 МБ
Windows ХР [10] (2001) 233 МГц 64 МБ 1,5 ГБ
Windows Виста [11] (2006) 800 МГц 512 МБ 15 ГБ
Windows 7 [12] (2009) 1 ГГц 1 ГБ 16 Гб
Windows 8 [13] (2012) 1 ГГц 1 ГБ 16 Гб
Windows 10 [14] (2015) 1 ГГц 1 ГБ 16 Гб
Windows 11 [15] (2021) 1 ГГц
64-битная
Двухъядерный
4ГБ 64 ГБ

Apple от iTunes обвиняют в том, что он раздулся из-за попыток превратить его из простого медиаплеера в платформу электронной коммерции и рекламы. [16] [17] с бывшим редактором PC World Эдом Боттом, обвиняющим компанию в лицемерии в ее рекламных атаках на Windows за аналогичную практику. [18] В 2019 году Apple объявила о предстоящем закрытии программы, шаг, который комментатор The Guardian назвал «давно назревшим», заявив, что программа «стала барочно раздутой, что является поразительной аномалией для компании, которая гордится элегантностью и функциональный дизайн». [19]

Microsoft Windows также подвергалась критике за раздутость: ссылаясь на Windows Vista и обсуждая новые, значительно уменьшенные основные компоненты Windows 7 , инженер Microsoft Эрик Траут прокомментировал: «Это ядро ​​Windows 7. Это набор компонентов, которые мы убрали. Многие люди думают о Windows как об очень большой, раздутой операционной системе, и это, возможно, справедливая характеристика, я должен признать, что она большая. ее ядро, ядро ​​и компоненты, составляющие самое ядро ​​операционной системы, на самом деле довольно упрощены». [20] [21] Эд Ботт также выразил скептицизм, отметив, что почти каждая операционная система, когда-либо продававшаяся Microsoft, в первом выпуске подвергалась критике как «раздутая», даже те, которые сейчас считаются полной противоположностью, такие как MS-DOS . [22] Цитируя Пола Терротта, Ботт согласился, что раздувание происходит из-за многочисленных функций корпоративного уровня, включенных в операционную систему, которые в значительной степени не имеют значения для обычного домашнего пользователя.

Приложения для записи компакт-дисков и DVD, такие как Nero Burning ROM, подверглись критике за раздутость. [23] Излишние функции, не предназначенные специально для конечного пользователя, иногда устанавливаются по умолчанию посредством экспресс-настройки.

Ряд технологических блогов также освещали проблему увеличения количества вредоносного ПО на мобильных телефонах. Однако они имеют в виду другую проблему, а именно проблему, связанную с тем, что операторы беспроводной связи загружают телефоны программным обеспечением, которое во многих случаях невозможно легко удалить, если вообще можно удалить. Чаще всего об этом говорят в отношении устройств Android , хотя это явление существует и на телефонах под управлением многих других операционных систем. [24] [25]

Некоторые из самых популярных в настоящее время приложений для обмена сообщениями , которые ранее были ориентированы только на обмен мгновенными сообщениями , подверглись критике за раздутость из-за расширения функций. [26] [27] [28] [29] В WeChat добавлены дополнительные функции, такие как игры, услуги подписки, WeChat Pay электронный кошелек . [26] агрегатор новостей , центр электронной коммерции , электронное правительство [27] функция, система бронирования кинотеатров, поиск ресторанов и компания по совместному использованию поездок , [29] что увеличило размер приложения с 2 МБ в 2011 году до 58 МБ в 2018 году. [ нужна ссылка ] Facebook Messenger , который был отделен от приложения Facebook , также подвергается критике за добавление дополнительных функций, таких как игры, боты и функции, скопированные из Snapchat, такие как Messenger Day (Stories), фильтры для лица, камера с возможностью редактирования фотографий, рисование каракулей и добавление смайлов и стикеров. [30] [31] В январе 2018 года глава отдела обмена сообщениями Facebook Дэвид А. Маркус признал, что само приложение крайне раздуто, и пообещал перепроектировать все приложение, чтобы удалить ненужные функции и оптимизировать его. [28] В октябре 2018 года было анонсировано переработанное и оптимизированное приложение Facebook Messenger, в котором его функции сведены к обмену сообщениями, историям, вкладке «Обнаружение» и камере. [32]

Альтернативы [ править ]

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

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

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

Иногда программное обеспечение становится раздутым из-за « ползучей функциональности ». [33] ( Закон оболочки программного обеспечения Завинского ). Один из способов уменьшить такое раздувание описывается философией Unix : «написание программ, которые делают одно и делают это хорошо», и разбиение того, что могло бы быть единой сложной частью программного обеспечения, на множество более простых компонентов, которые можно соединить вместе с помощью каналы , сценарии оболочки или другие формы взаимодействия между приложениями .

См. также [ править ]

Ссылки [ править ]

  1. ^ Whatisbloatware.com
  2. ^ Раймонд, Эрик С. (17 сентября 2003 г.). Искусство программирования для Unix (1-е изд.). Аддисон-Уэсли Профессионал. ISBN  0131429019 . Проверено 16 июня 2007 г. (См. также: Искусство программирования для Unix )
  3. Перейти обратно: Перейти обратно: а б Спольски, Джоэл (2001). «Стратегическое письмо IV: раздутое ПО и миф 80/20 — Джоэл о программном обеспечении» . Проверено 2 октября 2006 г.
  4. ^ Завински, Джейми (1998). «пасхальные яйца» . Проверено 9 января 2008 г.
  5. ^ Санто-Доминго, Джоэл (13 февраля 2012 г.). «Как удалить вредоносное ПО» . Журнал ПК .
  6. ^ Мукеш, Бхавеш (4 марта 2016 г.). «Преимущества и недостатки рутирования Android-смартфонов» . Android-портал .
  7. ^ «База знаний Microsoft: Требования к установке Windows 95» . Проверено 22 июля 2007 г.
  8. ^ «База знаний Microsoft: минимальные требования к оборудованию для установки Windows 98» . Проверено 22 июля 2007 г.
  9. ^ «Начало работы с Windows 2000 Server: Глава 3. Планирование установки Windows 2000 Server» . Майкрософт . Проверено 29 августа 2007 г.
  10. ^ «База знаний Microsoft: Системные требования для операционных систем Windows XP» . Проверено 22 июля 2007 г.
  11. ^ «База знаний Microsoft: Системные требования для Windows Vista» . Проверено 22 июля 2007 г.
  12. ^ «Майкрософт: Системные требования для Windows 7» . Проверено 9 октября 2009 г.
  13. ^ «ISO-образы предварительной версии Windows 8» . Проверено 12 августа 2012 г. Предварительная версия Windows 8 отлично работает на том же оборудовании, что и Windows 7.
  14. ^ «7 вещей, которые следует помнить, если вы пробуете предварительную версию Windows 10» . компьютерный мир.com. Октябрь 2014 года . Проверено 29 марта 2015 г.
  15. ^ Лоулер, Ричард (24 июня 2021 г.). «Microsoft меняет минимальные требования Windows 11» . Грань . Проверено 25 июня 2021 г.
  16. ^ Стреза, Стив (7 марта 2007 г.). «Что случилось с iTunes?» .
  17. ^ Бьюкенен, Мэтт (12 октября 2009 г.). «iTunes 9 станет раздутым социальным монстром» . Гизмодо . Проверено 14 января 2010 г.
  18. ^ Ботт, Эд (3 октября 2008 г.). «Уменьшение размера раздутого установщика iTunes» . ЗДНет . Проверено 14 января 2010 г.
  19. ^ Нотон, Джон (9 марта 2019 г.). «Прощай, iTunes, и спасибо за спасение музыкальной индустрии от самой себя» . Хранитель . Проверено 10 марта 2019 г.
  20. ^ Макдугалл, Пол (28 января 2008 г.). «Программный инструмент полностью очищает Windows Vista» . infoweek.com .
  21. ^ Ботт, Эд (31 марта 2008 г.). «Является ли MinWin действительно новым ядром Windows 7?» . ЗДНет .
  22. ^ Ботт, Эд (13 марта 2006 г.). «Windows раздувается? Так было всегда» . ЗДНет .
  23. ^ Кассия, Фернандо (27 февраля 2007 г.). « Nero Lite и Nero Micro: иногда меньше — лучше» . Спрашивающий . Архивировано из оригинала 2 марта 2007 года . Проверено 7 марта 2007 г. {{cite news}}: CS1 maint: неподходящий URL ( ссылка )
  24. ^ Гартенберг, Майкл (12 сентября 2010 г.). «Разведка: разрушат ли операторы концепцию Android?» . Engadget . Проверено 21 сентября 2010 г.
  25. ^ Милиан, Марк (15 июня 2010 г.). « Нежелательная программа входит в стандартную комплектацию смартфонов Verizon и T-Mobile» . Лос-Анджелес Таймс . Проверено 21 сентября 2010 г.
  26. Перейти обратно: Перейти обратно: а б Бишофф, Пол (12 февраля 2014 г.). «Чему WeChat нужно научиться у Facebook» . Технологии в Азии . Проверено 16 февраля 2020 г. .
  27. Перейти обратно: Перейти обратно: а б Чен, Лори (22 июля 2018 г.). «Почему технически подкованные миллениалы Китая покидают WeChat» . Южно-Китайская Морнинг Пост . Гонконг . Проверено 16 февраля 2020 г. .
  28. Перейти обратно: Перейти обратно: а б Констин, Джош (16 января 2018 г.). «Раздутый Facebook Messenger обещает упроститься в 2018 году» . ТехКранч . Проверено 16 февраля 2020 г. .
  29. Перейти обратно: Перейти обратно: а б «Facebook открывает Messenger для сторонних приложений» . Би-би-си . 25 марта 2015 года . Проверено 16 февраля 2020 г. .
  30. ^ Браун, Аарон (7 февраля 2017 г.). «Facebook почти разрушил WhatsApp, а теперь разрушил Messenger» . Ежедневный экспресс . Проверено 16 февраля 2020 г. .
  31. ^ Уэлч, Крис (18 мая 2017 г.). «Как заменить Facebook Messenger на более простую и легкую версию» . Грань . Проверено 16 февраля 2020 г. .
  32. ^ Прайс, Роб (23 октября 2018 г.). «Facebook пересматривает Messenger, чтобы попытаться сократить раздувание, и добавляет темный режим» . Бизнес-инсайдер . Проверено 16 февраля 2020 г. .
  33. ^ Адамс, Эрнест (1 мая 2007 г.). «Блокнот дизайнера: «ползучая особенность создает раздутый, сложный беспорядок» .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 074cef7da37fa3fd5337e9fdb258e52b__1706491500
URL1:https://arc.ask3.ru/arc/aa/07/2b/074cef7da37fa3fd5337e9fdb258e52b.html
Заголовок, (Title) документа по адресу, URL1:
Software bloat - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)