Uppsvälld programvara

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 17 april 2022; kontroller kräver 2 redigeringar .

Bloatware ( eng.  bloatware, fatware, elephantware [1] ) är ett program som har för många extra funktioner, vars drift kräver oproportionerligt mycket systemresurser [2] [3] , speciellt om dessa funktioner inte behövs eller av liten användning för arbetsprogram (sådana funktioner kallas ofta " jippon "  (engelska) , " klockor och visselpipor "  (engelska) , bokstavligen: "klockor och visselpipor") [4] .

Det engelska begreppet bloatware (även engelska  crapware, shovelware ) har också en andra betydelse, som syftar på resurskrävande förinstallerad mjukvara som användaren inte behöver, utan som påtvingas honom av tillverkare av datorer, surfplattor, smartphones etc. [5] [6] [7]

Allmän beskrivning

Den största skillnaden mellan byggare och programmerare är att byggare vet när de ska lägga den sista tegelstenen, medan programmerare inte gör det. Varje ny version av programmet lägger till något till den gamla. "Babels torn" växer med stormsteg och börjar någon gång falla.

Chris Kaspersky [8] .

Varje program kommer att expandera tills det kan läsa e-post. Program som inte kan expandera lika mycket ersätts av de som kan.

Jamie Zawinski , utvecklare av Netscape Communicator

Tekniskt uppsvälld programvara förknippas oftast med begreppet " feature creep, creeping featurism/featuritis "  [ 2] , som syftar på utvecklarnas tendens att lägga till fler och fler funktioner till en mjukvaruprodukt. i ett försök att "hänga med i konkurrenter", men leder faktiskt till skapandet av en långsammare och mindre effektiv produkt [9] . Enligt forskningsdata som tillkännagavs 2002 användes endast 20-25 % av funktionerna i mjukvaruprodukter alltid eller ofta, medan upp till 45 % av funktionerna aldrig användes alls. Enligt Martin Fowler skulle de flesta projekt bara behöva vara en fjärdedel av sin nuvarande storlek [10] .

Bloat påverkar inte bara programmens prestanda: en ökning av volymen programkod leder till en ökning av kostnaderna för dess underhåll och utveckling. Dessutom kan dåligt utformade ytterligare funktioner bli en källa till sårbarheter .

En annan bidragande faktor till "feature bloat" är den "andra systemeffekten" som beskrevs av Frederick Brooks redan 1975: en programmerare som utvecklar sitt andra system tenderar att lägga till alla funktioner som han inte kunde lägga till sitt första system (på grund av tidsbrist) ). ), så det andra systemet är ofta överbelastat med funktioner.

Anmärkningsvärda IT-proffs på mjukvaruuppsvällning

Niklaus Wirth skrev 1996 artikeln "Down with "fat programs"" och tog upp problemet med program för vilka ökningen av resurskraven överstiger ökningen av deras funktionalitet och prestanda [11] . Han lånade termen " fatware " från en artikel 1993 i tidskriften Byte [12] .

Wirth pekade på två skämtande "lagar" som ändå exakt återspeglar situationen:

Två faktorer bidrar till konsumenternas acceptans av ständigt ökande mjukvarustorlekar: snabbt ökande hårdvaruprestanda och okunnighet om den grundläggande skillnaden mellan viktiga funktioner och de som är "trevliga att ha" [11] .

Nathan Myhrvold uttrycket "mjukvara är en gas" för att beskriva följande fenomen: oavsett hur mycket hårdvaran har förbättrats, tenderar utvecklare alltid att lägga till funktionalitet för att tvinga sina program att nå gränserna för den prestandan [13] .

Relation till mjukvarubloat

Att anpassa gamla program till nya maskiner innebär vanligtvis att man gör ändringar för att de nya maskinerna ska fungera som de gamla.

Alan Perlis [14] .

Användare tenderar att se uppsvälld programvara negativt. Enligt Joel Spolsky gör de det förgäves, [15] av följande skäl:

Exempel

Jämförelse av Windows minimikrav ( x86- versioner )
Windows version CPU Minne Diskstorlek
Windows 95 [16] 25 MHz 4 MB ~50 MB
Windows 98 [17] 66MHz 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) 1 GHz 1 GB 16 GB
Windows 8 [22] (2012) 1 GHz 1 GB 16 GB
Windows 10 [23] (2015) 1 GHz 1 GB 16 GB
Windows 11 [24] (2021) 1 GHz 4 GB 64 GB

Switched Downloadsquad publicerade exempel på de sämsta programmen 2008 i kategorin "elefantprogram", det vill säga "uppblåsta program som får de senaste persondatorerna att starta som en Pentium 2 med 64 MB RAM" [25] . Följande program har fått namn:

Ett bra exempel som illustrerar ökningen av kraven är systemkraven för att installera Microsofts OS. Som du kan se var deras tillväxt helt klart oproportionerlig till uppkomsten av nya möjligheter. Man bör komma ihåg att detta delvis beror på "trunkeringen" av Windows-funktioner beroende på licensen, medan huvudsystemfilerna förblir i samma antal. Minimikraven för Windows 10 förblir desamma som Windows 7, medan användare och testare noterar en faktisk ökning av minnesförbrukningen. Bevarandet av minimikraven är följaktligen i viss utsträckning av reklamkaraktär.

Nero Burning ROM [26] nämns ofta som ett exempel på omotiverad uppblåsthet . Under livscykeln fick paketet med detta program en grafik- och ljudredigerare, en ljud- och videospelare, samt en alternativ version av inspelningsprogrammet med ett förenklat gränssnitt, som alla levererades med ett speciellt skalprogram för att starta och hade komplexa grafiska designstilar .

Anti-bloat

Den raka motsatsen till uppblåsthet är KISS- principen , som förbjuder system från att bli mer komplicerade om de redan fungerar bra. Också mot uppblåsthet är den första principen i Unix-filosofin .

Under 2014 krävde Sydkorea lagligt att mjukvaruutvecklare för smartphones skulle tillhandahålla möjligheten att tvinga bort oönskad bloatware ("onödig förinstallerad bloatware"). Detta steg orsakades av det ökande bruket av förinstallation på smartphones av onödig resurskrävande programvara som inte kan tas bort med standardmetoder [27] .

Anteckningar

  1. Vad är bloatware? // wiseGEEK . Hämtad 20 september 2013. Arkiverad från originalet 21 september 2013.
  2. 1 2 Alexander Klimenkov. Lilliputians i jättarnas land Arkiverad 22 september 2013 på Wayback Machine // Computerra, nr 4, 2008-02-10
  3. Definition av bloatware // answers.com . Hämtad 12 augusti 2016. Arkiverad från originalet 20 september 2016.
  4. Vad är bloatware // businessdictionary.com (nedlänk) . Hämtad 20 september 2013. Arkiverad från originalet 21 september 2013. 
  5. Definition av bloatware i Oxford ordbok . Hämtad 27 juni 2017. Arkiverad från originalet 15 maj 2018.
  6. Brad Chacos. Bloatware: Varför datortillverkare fyller din dator med skräp och hur man blir av med det Arkiverad 28 juni 2017 på Wayback Machine // PC World, 2015-02-26
  7. Eric Griffith. Hur man rengör Crapware från en ny PC Arkiverad 6 juli 2017 på Wayback Machine // PC World, 02/10/2017
  8. Software Evolution Arkiverad 14 oktober 2013 på Wayback Machine // Hacker, #055 (specialutgåva), sid. 55-56
  9. Bloatware // Macmillan Dictionary . Hämtad 20 september 2013. Arkiverad från originalet 21 september 2013.
  10. Martin Fowler . XP 2002-konferensen arkiverad 29 december 2016 på Wayback Machine 2 juli 2002
  11. 1 2 3 Niklaus Wirth. Ned med "feta" program .
  12. Ed Perratore, Tom Thompson, Jon Udell, Rich Malloy. Fighting Fatware  // Byte. - April 1993. - Vol. 18, nr 4 . - S. 98-108.
  13. Guoqing Xu, Nick Mitchell etc. Analys av uppsvälld programvara: hitta, ta bort och förhindra prestandaproblem i moderna storskaliga objektorienterade applikationer // Proceedings of the FSE/SDP workshop on Future of software engineering research. Sidorna 421-426. Text  (länk ej tillgänglig) .
  14. Från ACM:s SIGPLAN-publikation, (september, 1982), artikel "Epigrams in Programming", av Alan J. Perlis från Yale University.
  15. Strategibrev IV: Bloatware och 80/20-myten . Hämtad 2 september 2008. Arkiverad från originalet 5 juli 2008.
  16. Microsoft KB: Installationskrav för Windows 95 . Hämtad 22 juli 2007. Arkiverad från originalet 7 augusti 2007.
  17. Microsoft KB: Minsta hårdvarukrav för en Windows 98-installation . Hämtad 22 juli 2007. Arkiverad från originalet 4 november 2010.
  18. Windows 2000 Server Komma igång: Kapitel 3 - Planera din Windows 2000 Server-installation . Hämtad 29 augusti 2007. Arkiverad från originalet 12 september 2007.
  19. Microsoft KB: Systemkrav för Windows XP-operativsystem . Hämtad 22 juli 2007. Arkiverad från originalet 5 juli 2006.
  20. Microsoft KB: Systemkrav för Windows Vista . Hämtad 22 juli 2007. Arkiverad från originalet 3 juli 2007.
  21. Microsoft: Systemkrav för Windows 7 . Hämtad 9 oktober 2009. Arkiverad från originalet 18 juni 2016.
  22. Windows 8 Release Preview ISO-bilder . - ""Windows 8 Release Preview fungerar utmärkt på samma hårdvara som driver Windows 7". Hämtad 12 augusti 2012. Arkiverad från originalet 5 mars 2012.
  23. 7 saker att komma ihåg om du provar Windows 10-förhandsvisningen . www.computerworld.com. Hämtad 29 mars 2015. Arkiverad från originalet 18 mars 2015.
  24. Det här är hårdvaran du behöver för att köra Windows 11 - The Verge . Hämtad 27 september 2021. Arkiverad från originalet 4 oktober 2021.
  25. ^ 12 Jack Schofield . Vilket är ditt mest irriterande program? Arkiverad 15 maj 2018 på Wayback Machine // www.theguardian.com, Software Technology-bloggen 2008
  26. Cassia, Fernando 'Nero Lite' och 'Nero Micro': mindre är ibland bättre . The Inquirer (27 februari 2007). Hämtad 7 mars 2007. Arkiverad från originalet 2 mars 2007.
  27. Ryan Huang. Sydkorea regler förinstallerad telefonbloatware måste kunna raderas Arkiverad 21 oktober 2016 på Wayback Machine // zdnet.com , 24 januari 2014