Bloatware ( eng. bloatware, fatware, elephantware [1] ) este un program care are prea multe funcții suplimentare, a cărui funcționare necesită o cantitate disproporționată de resurse de sistem [2] [3] , mai ales dacă aceste funcții nu sunt necesare sau de puțin folosit pentru programele de lucru (astfel de funcții sunt adesea numite „ gimmicks ” (engleză) , „ bells and whistles ” (engleză) , literalmente: „bells and whistles”) [4] .
Termenul englezesc bloatware (tot limba engleză crapware, shovelware ) are și un al doilea sens, care se referă la software-ul preinstalat , care consumă mult resurse, de care utilizatorul nu are nevoie, dar îi este impus de producătorii de computere, tablete, smartphone-uri etc. [5] [6 ] [7]
Principala diferență dintre constructori și programatori este că constructorii știu când să pună ultima cărămidă, în timp ce programatorii nu. Fiecare versiune nouă a programului adaugă ceva la cea veche. „Turnul Babel” crește cu salturi și la un moment dat începe să cadă.
Chris Kaspersky [8] .Fiecare program se va extinde până când poate citi e-mailurile. Programele care nu se pot extinde la fel de mult sunt înlocuite cu cele care se pot extinde.
Jamie Zawinski , dezvoltatorul Netscape CommunicatorSoftware-ul umflat din punct de vedere tehnic este cel mai adesea asociat cu conceptul de „ featurism/featuritis ” [ 2] , care se referă la tendința dezvoltatorilor de a adăuga din ce în ce mai multe caracteristici unui produs software, în încercarea de a „ține pasul cu concurenți”, dar conducând de fapt la crearea unui produs mai lent și mai puțin eficient [9] . Conform datelor cercetării anunțate în 2002, doar 20-25% din funcțiile produselor software au fost folosite întotdeauna sau des, în timp ce până la 45% dintre funcții nu au fost niciodată folosite deloc. Potrivit lui Martin Fowler , majoritatea proiectelor ar trebui să fie doar un sfert din dimensiunea lor actuală [10] .
Balonarea nu afectează doar performanța programelor: o creștere a volumului de cod de program duce la o creștere a costului întreținerii și dezvoltării acestuia. În plus, caracteristicile suplimentare prost proiectate pot deveni o sursă de vulnerabilități .
Un alt factor care contribuie la „balonarea caracteristicilor” este „efectul celui de-al doilea sistem” descris de Frederick Brooks încă din 1975: un programator care își dezvoltă al doilea sistem tinde să adauge toate caracteristicile pe care nu le-a putut adăuga la primul său sistem (din cauza lipsei de timp). ).), astfel încât cel de-al doilea sistem este adesea supraîncărcat cu funcții.
Niklaus Wirth a scris în 1996 articolul „Jos „programele grase””, ridicând problema programelor pentru care creșterea cerințelor de resurse depășește creșterea funcționalității și performanței lor [11] . El a împrumutat termenul „ fatware ” dintr-un articol din 1993 din revista Byte [12] .
Wirth a subliniat două „legi” în glumă care, totuși, reflectă cu exactitate situația:
Doi factori contribuie la acceptarea de către consumatori a dimensiunilor software din ce în ce mai mari: creșterea rapidă a performanței hardware și ignorarea diferenței fundamentale dintre caracteristicile vitale și cele care sunt „plăcut de a avea” [11] .
Nathan Myhrvold a expresia „software-ul este un gaz” pentru a descrie următorul fenomen: indiferent cât de mult hardware-ul a fost îmbunătățit, dezvoltatorii tind întotdeauna să adauge funcționalități pentru a-și forța programele să atingă limitele acelei performanțe. [13] .
Ajustarea programelor vechi la mașini noi înseamnă de obicei efectuarea de modificări pentru ca noile mașini să funcționeze ca cele vechi.
Alan Perlis [14] .Utilizatorii tind să vadă negativ software-ul umflat. Potrivit lui Joel Spolsky , o fac în zadar, [15] din următoarele motive:
Versiunea Windows | CPU | Memorie | Dimensiunea discului |
---|---|---|---|
Windows 95 [16] | 25MHz | 4MB | ~50 MB |
Windows 98 [17] | 66 MHz | 16 MB | ~200 MB |
Windows 2000 [18] | 133 MHz | 32 MB | 650 MB |
Windows XP [19] (2001) | 233 MHz | 64 MB | 1,5 GB |
Windows Vista [20] (2007) | 800MHz | 512 MB | 15 GB |
Windows 7 [21] (2009) | 1GHz | 1 GB | 16 GB |
Windows 8 [22] (2012) | 1GHz | 1 GB | 16 GB |
Windows 10 [23] (2015) | 1GHz | 1 GB | 16 GB |
Windows 11 [24] (2021) | 1GHz | 4GB | 64 GB |
Switched Downloadsquad a publicat exemple de cele mai proaste programe în 2008 din categoria „elephantware”, adică „programe umflate care fac ca ultimele computere personale să pornească ca un Pentium 2 cu 64 MB de RAM” [25] . Au fost denumite următoarele programe:
Un bun exemplu care ilustrează creșterea cerințelor sunt cerințele de sistem pentru instalarea sistemului de operare Microsoft. După cum puteți vedea, creșterea lor a fost în mod clar disproporționată față de apariția de noi oportunități. Trebuie avut în vedere faptul că acest lucru se datorează parțial „trunchierii” capabilităților Windows în funcție de licență, în timp ce fișierele de sistem principale rămân în același număr. Cerințele minime pentru Windows 10 rămân aceleași ca și Windows 7, în timp ce utilizatorii și testerii notează o creștere reală a consumului de memorie. În consecință, păstrarea cerințelor minime este, într-o anumită măsură, de natură publicitară.
Nero Burning ROM [26] este adesea citat ca exemplu de balonare nejustificată . Pe parcursul ciclului de viață, pachetul acestui program a achiziționat un editor grafic și de sunet, un player audio și video, precum și o versiune alternativă a programului de înregistrare cu o interfață simplificată, toate acestea fiind furnizate cu un program shell special pentru lansare. și avea stiluri de design grafic complexe .
Exact opusul balonării este principiul KISS , care interzice sistemelor să devină mai complicate dacă funcționează deja bine. De asemenea, împotriva balonării este primul principiu al filozofiei Unix .
În 2014, Coreea de Sud a cerut legal dezvoltatorilor de software pentru smartphone-uri să ofere capacitatea de a forța eliminarea bloatware-urilor nedorite („bloatware preinstalat inutil”). Acest pas a fost cauzat de practica din ce în ce mai mare a preinstalării pe smartphone-uri a software-ului care consumă multe resurse inutile, care nu poate fi eliminat prin mijloace standard [27] .