Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

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

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

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

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

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

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

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

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

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

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

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

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

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

Bloatware [ править ]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Раздутие кода
  • Ползучесть характеристик
  • Легкое программное обеспечение
  • Библиотека GNU C
  • Минимализм (вычисления)
  • Программная гниль
  • Программный комплекс
  • Технический долг
  • Закон вирта
  • Закон Завинского оболочек программного обеспечения

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

  1. ^ whatisbloatware.com
  2. Перейти ↑ Raymond, Eric S. (17 сентября 2003 г.). Искусство программирования Unix (1-е изд.). Эддисон-Уэсли Профессионал. ISBN 0131429019. Проверено 16 июня 2007 года .(См. Также: Искусство программирования Unix )
  3. ^ a b Спольски, Джоэл (2001). «Стратегическое письмо IV: Раздуваемое ПО и миф 80/20 - Джоэл о программном обеспечении» . Проверено 2 октября 2006 года .
  4. ^ Завински, Джейми (1998). «пасхальные яйца» . Проверено 9 января 2008 года .
  5. Санто-Доминго, Джоэл (13 февраля 2012 г.). «Как удалить вредоносное ПО» . Журнал ПК .
  6. ^ Мукеш, Bhavesh (4 марта 2016). «Преимущества и недостатки рутирования смартфонов Android» . Портал Android .
  7. ^ «Microsoft KB: Требования для установки Windows 95» . Проверено 22 июля 2007 года .
  8. ^ «Microsoft KB: минимальные требования к оборудованию для установки Windows 98» . Проверено 22 июля 2007 года .
  9. ^ «Приступая к работе с Windows 2000 Server: Глава 3 - Планирование установки Windows 2000 Server» . Проверено 29 августа 2007 года .
  10. ^ «Microsoft KB: Системные требования для операционных систем Windows XP» . Проверено 22 июля 2007 года .
  11. ^ «Microsoft KB: Системные требования для Windows Vista» . Проверено 22 июля 2007 года .
  12. ^ «Microsoft: Системные требования для Windows 7» . Проверено 9 октября 2009 года .
  13. ^ «Windows 8 Release Preview ISO-образы» . Проверено 12 августа 2012 года . Windows 8 Release Preview отлично работает на том же оборудовании, что и Windows 7
  14. ^ «7 вещей, которые нужно помнить, если вы пробуете предварительную версию Windows 10» . www.computerworld.com . Проверено 29 марта 2015 года .
  15. ^ Streza, Стив (7 марта 2007). "Что случилось с iTunes?" .
  16. Бьюкенен, Мэтт (12 октября 2009 г.). «iTunes 9 будет раздутым социальным монстром» . Gizmodo . Проверено 14 января 2010 года .
  17. Bott, Ed (3 октября 2008 г.). «Уменьшение размера раздутой программы установки iTunes» . ZDNet . Проверено 14 января 2010 года .
  18. ^ Нотон, Джон (9 марта 2019). «Прощай, iTunes, и спасибо, что спасли музыкальную индустрию от самой себя» . Хранитель . Проверено 10 марта 2019 .
  19. Макдугалл, Пол (28 января 2008 г.). «Программные средства превращают Windows Vista в чистую монету» . informationweek.com .
  20. Bott, Ed (31 марта 2008 г.). «Действительно ли MinWin - это новое ядро ​​Windows 7?» .
  21. Bott, Ed (13 марта 2006 г.). «Раздутие Windows? Так было всегда» .
  22. Кассия, Фернандо (27 февраля 2007 г.). « « Nero Lite »и« Nero Micro »: иногда лучше меньше» . Спрашивающий . Архивировано из оригинального 2 -го марта 2007 года . Проверено 7 марта 2007 года .
  23. ^ Gartenberg, Майкл (12 сентября 2010). «Разведка: разрушат ли носители видение Android?» . Engadget . Проверено 21 сентября 2010 года .
  24. ^ Милиан, Марк (15 июня 2010 г.). « Самоисчезающие“входит в стандартную комплектацию Verizon, T-Mobile смартфонов» . Лос-Анджелес Таймс . Проверено 21 сентября 2010 года .
  25. ^ a b Бишофф, Пол (12 февраля 2014 г.). «Чему WeChat нужно научиться у Facebook» . Технологии в Азии . Проверено 16 февраля 2020 года .
  26. ^ a b Чен, Лори (22 июля 2018 г.). «Почему технически подкованные миллениалы Китая уходят из WeChat» . Южно-Китайская утренняя почта . Гонконг . Проверено 16 февраля 2020 года .
  27. ^ a b Константин, Джош (16 января 2018 г.). «Раздутый мессенджер Facebook обещает упростить в 2018 году» . TechCrunch . Проверено 16 февраля 2020 года .
  28. ^ a b «Facebook открывает Messenger для сторонних приложений» . BBC . 25 марта 2015 . Проверено 16 февраля 2020 года .
  29. Рианна Браун, Аарон (7 февраля 2017 г.). «Facebook почти разрушил WhatsApp, а теперь разрушил Messenger» . Daily Express . Проверено 16 февраля 2020 года .
  30. Уэлч, Крис (18 мая 2017 г.). «Как заменить Facebook Messenger на более простую и легкую версию» . Грань . Проверено 16 февраля 2020 года .
  31. Прайс, Роб (23 октября 2018 г.). «Facebook проводит капитальный ремонт Messenger, чтобы попытаться сократить раздувание и добавить темный режим» . Business Insider . Проверено 16 февраля 2020 года .
  32. Адамс, Эрнест (1 мая 2007 г.). «Записная книжка дизайнера:« ползучая черта порождает раздутый сложный беспорядок » .