Software umflat

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 17 aprilie 2022; verificările necesită 2 modificări .

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]

Descriere generală

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 Communicator

Software-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.

Profesioniști noti din IT pe software-ul bloat

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] .

Relația cu software-ul bloat

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:

Exemple

Comparația cerințelor minime Windows ( versiunile x86 )
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 .

Anti-balonare

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] .

Note

  1. Ce este bloatware-ul? // wiseGEEK . Consultat la 20 septembrie 2013. Arhivat din original pe 21 septembrie 2013.
  2. 1 2 Alexander Klimenkov. Liliputieni în țara giganților Arhivat 22 septembrie 2013 la Wayback Machine // Computerra, nr. 4, 02/10/2008
  3. Definiția bloatware // answers.com . Preluat la 12 august 2016. Arhivat din original la 20 septembrie 2016.
  4. Ce este bloatware // businessdictionary.com (downlink) . Consultat la 20 septembrie 2013. Arhivat din original pe 21 septembrie 2013. 
  5. Definiția bloatware în dicționarul Oxford . Preluat la 27 iunie 2017. Arhivat din original la 15 mai 2018.
  6. Brad Chacos. Bloatware: De ce producătorii de computere vă umplu computerul cu vechituri și cum să scăpați de el Arhivat 28 iunie 2017 la Wayback Machine // PC World, 26.02.2015
  7. Eric Griffith. Cum să curățați Crapware de pe un PC nou Arhivat 6 iulie 2017 la Wayback Machine // PC World, 02/10/2017
  8. Software Evolution Arhivat 14 octombrie 2013 la Wayback Machine // Hacker, #055 (număr special), p. 55-56
  9. Bloatware // Dicţionar Macmillan . Consultat la 20 septembrie 2013. Arhivat din original pe 21 septembrie 2013.
  10. Martin Fowler . Conferința XP 2002 Arhivată la 29 decembrie 2016 la Wayback Machine , 02 iulie 2002
  11. 1 2 3 Niklaus Wirth. Jos cu programele „grase” .
  12. Ed Perratore, Tom Thompson, Jon Udell, Rich Malloy. Fighting Fatware  // Byte. - aprilie 1993. - Vol. 18, nr. 4 . - P. 98-108.
  13. Guoqing Xu, Nick Mitchell etc. Analiza balonării software: găsirea, eliminarea și prevenirea problemelor de performanță în aplicațiile moderne orientate pe obiecte la scară largă // Proceedings of the FSE/SDP workshop on Viitorul cercetării în inginerie software. Paginile 421-426. Text  (link nu este disponibil) .
  14. Din publicația SIGPLAN a ACM, (septembrie, 1982), Articolul „Epigrams in Programming”, de Alan J. Perlis de la Universitatea Yale.
  15. Strategy Letter IV: Bloatware and the 80/20 Myth . Consultat la 2 septembrie 2008. Arhivat din original la 5 iulie 2008.
  16. Microsoft KB: Cerințe de instalare Windows 95 . Preluat la 22 iulie 2007. Arhivat din original la 7 august 2007.
  17. Microsoft KB: Cerințe hardware minime pentru o instalare Windows 98 . Preluat la 22 iulie 2007. Arhivat din original la 4 noiembrie 2010.
  18. Noțiuni de bază pentru Windows 2000 Server: Capitolul 3 - Planificarea instalării Windows 2000 Server . Preluat la 29 august 2007. Arhivat din original la 12 septembrie 2007.
  19. Microsoft KB: Cerințe de sistem pentru sistemele de operare Windows XP . Consultat la 22 iulie 2007. Arhivat din original pe 5 iulie 2006.
  20. Microsoft KB: Cerințe de sistem pentru Windows Vista . Consultat la 22 iulie 2007. Arhivat din original pe 3 iulie 2007.
  21. Microsoft: Cerințe de sistem pentru Windows 7 . Consultat la 9 octombrie 2009. Arhivat din original la 18 iunie 2016.
  22. Windows 8 Release Preview imagini ISO . - „„Previzualizarea lansării Windows 8 funcționează excelent pe același hardware care alimentează Windows 7””. Preluat la 12 august 2012. Arhivat din original la 5 martie 2012.
  23. 7 lucruri de reținut dacă încercați previzualizarea Windows 10 . www.computerworld.com. Preluat la 29 martie 2015. Arhivat din original la 18 martie 2015.
  24. Acesta este hardware-ul de care aveți nevoie pentru a rula Windows 11 - The Verge . Preluat la 27 septembrie 2021. Arhivat din original la 4 octombrie 2021.
  25. 12 Jack Schofield . Care este cel mai enervant program al tău? Arhivat 15 mai 2018 la Wayback Machine // www.theguardian.com, blogul de tehnologie software 2008
  26. Cassia, Fernando „Nero Lite” și „Nero Micro”: mai mic uneori este mai bine . The Inquirer (27 februarie 2007). Consultat la 7 martie 2007. Arhivat din original pe 2 martie 2007.
  27. Ryan Huang. Coreea de Sud reglementează bloatware-ul preinstalat pentru telefon trebuie să fie șters Arhivat 21 octombrie 2016 la Wayback Machine // zdnet.com , 24 ianuarie 2014