Программное обеспечение как услуга
- 1 year ago
- 0
- 0
Раздутое программное обеспечение ( англ. bloatware, fatware, elephantware ) — программа, имеющая слишком много дополнительных функций, на работу которых уходит непропорционально много ресурсов системы , в особенности если эти функции не нужны или малополезны для работы программы (такие функции часто называют « » (англ.) , « » (англ.) , дословно: «бубенчики и свистульки») .
У английского термина bloatware (также англ. crapware, shovelware ) существует также второе значение, которое относится к ресурсоёмкому предварительно установленному программному обеспечению , которое пользователю не нужно, но навязывается ему производителями компьютеров, планшетов, смартфонов и т. д.
Основное различие между строителями и программистами состоит в том, что строители знают, когда нужно положить последний кирпич, а программисты — нет. Каждая новая версия программы добавляет что-то к старой. «Вавилонская башня» растет как на дрожжах и в какой-то момент начинает падать.
Каждая программа будет расширяться, пока не научится читать почту. Программы, которые не могут так расшириться, заменяются теми, которые могут.
Технически раздутое программное обеспечение чаще всего ассоциируется с понятием «расползание возможностей», или «ползучий улучшизм» (« » (англ.) ), которое обозначает тенденцию разработчиков добавлять в программный продукт больше и больше возможностей в попытке «не отстать от конкурентов», однако приводящую фактически к созданию более медленного и менее эффективного изделия . Согласно озвученным в 2002 году данным исследований, только 20—25 % функций программных продуктов использовались всегда или часто, тогда как до 45 % функций вообще никогда не использовались. По мнению Мартина Фаулера , большинство проектов должны были бы иметь лишь четверть от их существующего размера .
Раздувание сказывается не только на производительности программ: увеличение объёма программного кода приводит к росту затрат на его обслуживание и развитие. К тому же плохо проработанные дополнительные функции могут стать источником уязвимостей .
Вклад в «раздувание возможностей» вносит также «эффект второй системы», описанный Фредериком Бруксом ещё в 1975 году: программист, разрабатывающий свою вторую систему, склонен добавлять все те возможности, которые он не смог добавить в свою первую систему (из-за нехватки времени), поэтому вторая система часто получается перегруженной возможностями.
Никлаус Вирт в 1996 году написал статью «Долой „жирные программы“», подняв проблему программ, для которых рост требований к ресурсам превышает рост их функциональных возможностей и производительности . Термин «жирные программы» ( fatware ) позаимствован им из статьи в 1993 года .
Вирт указал на два шутливых «закона», которые тем не менее верно отражают ситуацию:
Два фактора вносят вклад в приятие потребителями программного обеспечения всё более растущих размеров: быстро увеличивающаяся аппаратная производительность и игнорирование принципиальной разницы между жизненно важными возможностями и теми, которые «хорошо бы иметь» .
использовал выражение «software is a gas» («программа — это газ»), чтобы описать следующий феномен: вне зависимости от степени усовершенствования аппаратного обеспечения разработчики всегда имеют тенденцию добавлять функциональность, чтобы заставить свои программы натолкнуться на границы этой производительности .
Подгонка старых программ под новые машины обычно означает такие изменения, при которых новые машины работают как старые.
Пользователи, как правило, относятся к раздутому программному обеспечению отрицательно. По мнению Джоэла Спольски , они это делают зря, по следующим причинам:
Версия 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»). Этот шаг был вызван участившейся практикой предварительной установки на смартфоны ненужного ресурсоёмкого программного обеспечения, не поддающегося удалению стандартными средствами .