소프트웨어 블러트

Software bloat

소프트웨어 블러트는 이전 버전보다 후속 버전의 컴퓨터 프로그램이 눈에 띄게 느려지거나 메모리, 디스크 공간 또는 처리 능력이 증가하거나 하드웨어 요건이 높아지면서 사용자가 인지할 수 없는 개선이나 기능 크리프에 시달리는 프로세스입니다.이 용어는 일관되게 적용되지 않습니다.일반적으로 최종 사용자(블러트웨어)는 이러한 변경이 하드웨어 요건에 거의 또는 전혀 영향을 미치지 않더라도 바람직하지 않은 사용자 인터페이스 변경을 나타내기 위해 경멸적인 의미로 사용됩니다.수명이 긴 소프트웨어에서는 다양한 요구 사항을 가진 크고 다양한 시장에 서비스를 제공하는 소프트웨어에서 문제가 발생할 수 있습니다.대부분의 최종 사용자는 사용 가능한 기능의 일부만 필요하다고 느끼며, 다른 요구 사항을 가진 최종 사용자가 이러한 기능을 요구하더라도 나머지 기능은 불필요한 비대칭으로 간주합니다.

실제 (측정 가능한) 비대화는 개발자의 생산성 등 다른 문제에 대한 강조를 해제하거나 개발자의 제약이 완화될 때 편의를 위해 가상 머신이나 기타 스크립트 엔진과 같은 새로운 추상화 레이어를 도입함으로써 발생할 수 있습니다.가상 머신 환경에서 개발을 실시하는 경우 개발자의 생산성 향상에 대한 인식은 개발자가 설계 및 개발 시 자원의 제약과 사용률을 고려하지 않기 때문입니다.이것에 의해, 제품의 완성은 빨라지지만, 최종 유저의 부담이 증가합니다.보상 요건.

또한 "블러트웨어"라는 용어는 원치 않는 프리 인스톨 소프트웨어 또는 번들된 [1]프로그램을 나타낼 때도 사용됩니다.

팽창의 종류

프로그램 블러트

컴퓨터 프로그래밍에서 코드 블로트는 불필요하게 길거나 느리거나 자원을 낭비하는 것으로 인식되는 프로그램 코드(소스 코드 또는 기계 코드)의 존재를 말합니다.

라이브러리 블러트

라이브러리 블러트는 빌드 스크립트에서 선언되거나 사용되지만 소프트웨어 [2]응용 프로그램을 실행하는 데 필요하지 않은 라이브러리를 말합니다.프로젝트로 비대해진 라이브러리는 프로젝트의 향후 진화 과정에서 비대하게 유지될 가능성이 매우 높으며, 개발자들은 이러한 비대해진 [3]의존관계를 유지할 것이기 때문에 유지 보수 노력을 인위적으로 증가시킨다.

원인들

소프트웨어의 비효율성

1970년대에 업계에 종사했던 소프트웨어 개발자들은 디스크 공간과 메모리에 심각한 제약을 받았습니다.모든 바이트와 클럭 사이클이 고려되었고, 프로그램을 이용 가능한 자원에 맞추기 위해 많은 작업이 필요했습니다.이 효율을 달성하는 것은 컴퓨터 프로그래머의 가장 높은 가치 중 하나였으며, 최고의 프로그램은 종종 수학자들이 깔끔하고 인색하며 강력한 증거를 설명하기 위해 사용하는 용어인 "우아한"이라고 불렸다.

21세기에 이르러서는 상황이 역전되었다.리소스는 저렴하고 마케팅을 위한 코딩 및 헤드라인 기능의 신속성이 [4]우선 사항으로 인식되었습니다.부분적으로, 이는 기술 발전이 이후 처리 용량과 스토리지 밀도를 몇 배나 증가시켰으며, 상대 비용도 몇 배나 감소시켰기 때문입니다(Moore의 법칙 참조).또한, 모든 수준의 비즈니스와 가정 생활로 컴퓨터가 확산되면서 소프트웨어 산업이 1970년대보다 몇 배 더 커졌습니다.프로그램은 일반적으로 소프트웨어 개발 스튜디오(소프트웨어 하우스 또는 소프트웨어 팩토리라고도 함)의 위원회가 지휘하는 팀에 의해 작성됩니다.이 스튜디오에서는 각 프로그래머가 1개 이상의 서브루틴에서 [citation needed]전체의 일부만 작업합니다.

마지막으로 소프트웨어 개발 도구와 접근법은 프로그램 전체에 걸쳐 각 기능을 수용하기 위한 변경을 초래하는 경우가 많고, 이는 소프트웨어의 주요 동작에 영향을 미치는 대규모 코드 포함으로 이어지며, 그 자체가 거의 사용되지 않을 수 있는 기능을 지원하기 위해 필요합니다.특히 이용 가능한 자원의 진보로 인해 최종 효율성에 대한 우선순위가 낮아진 채 코드를 쉽게 개발할 수 있는 툴이 생겨났습니다.

또 다른 비대화의 원인은 독립적으로 경쟁하는 표준과 제품으로, 통합에 대한 수요를 창출할 수 있습니다.현재 운영 체제, 브라우저, 프로토콜 및 스토리지 형식이 이전보다 더 많아져 상호 운용성 문제로 인해 프로그램이 비대해집니다.예를 들어, 이전에는 텍스트 형식으로만 저장할 수 있던 프로그램을 HTML, XML, XLS, CSV, PDF, DOC 및 기타 형식으로 저장해야 합니다.

Niklaus Worth는 소프트웨어 속도가 하드웨어 속도보다 더 빠르게 감소하고 있다는 Worth의 법칙에 상황을 요약했습니다.

Joel Spolsky는 2001년 에세이 'Strategy Letter IV: Bloatware and the 80/20 Myth'[5]에서 80%의 사용자가 기능(파레토 원리에 따른 변형)을 20%만 사용하지만 각각 다른 기능을 사용한다고 주장했습니다.따라서, "Lite" 소프트웨어 에디션은 "Blooded" 버전에 있는 한두 가지 특수 기능을 놓치기 때문에 대부분의 경우 쓸모가 없는 것으로 판명되었습니다.Spolsky는 기사를 Jamie Zawinski가 Mozilla Application Suite(나중에 SeaMonkey가 됨)에 대해 언급한 인용문으로 요약합니다.

"만약 그것이 사실이라면 편리하겠지만, Mozilla는 쓸모없는 쓰레기로 가득 차 있기 때문에 규모가 크지 않습니다.Mozilla가 큰 이유는 고객의 요구가 크기 때문입니다.인터넷이 크기 때문에 당신의 요구는 크다.작고 얇은 웹브라우저들이 많이 있지만 공교롭게도 전혀 쓸모가 없습니다.[...] 하지만 Mozilla를 [6]쓸 때는 빛나는 완벽한 보석이 되는 것이 목표가 아니었습니다.

소프트웨어 번짐은 Fred Brooks신화적 인간-Month에서 설명한 두 번째 시스템 효과의 증상일 수도 있습니다.

블로트웨어

"[5]블러트웨어"라는 용어는 위에서 설명한 바와 같이 비효율적이거나 기능이 추가되어 비대해진 소프트웨어에 적용될 수 있습니다.이 용어는 일반적으로 하드웨어 제조업체가 장치에 프리 인스톨한 소프트웨어를 의미하며, 대부분 구매자가 원하지 않습니다.

이 용어는 부분적이고 불완전한 제거 후에도 남아 있는 원치 않는 소프트웨어 요소 및 사용되지 않는 소프트웨어 요소의 누적에도 적용될 수 있습니다.이러한 요소에는 전체 프로그램, 라이브러리, 관련 구성 정보 또는 기타 데이터가 포함될 수 있습니다.불필요한 소프트웨어 또는 소프트웨어 컴포넌트가 메모리를 점유하거나 처리 시간을 낭비하거나 디스크 I/O를 추가하거나 스토리지를 소비하거나 시스템 부팅 및 종료 시 지연을 일으킬 수 있기 때문에 성능이 전반적으로 저하될 수 있습니다.최악의 경우 남은 소프트웨어가 원하는 [7]소프트웨어의 올바른 작동을 방해할 수 있습니다.사용자가 단말기에 루트 액세스 권한을 가지고 있으면 쉽게 제거할 수 있습니다.[8]단, 루트 프로세스에는 제조사의 보증 무효화 등 독자적인 장점과 단점이 있으며 특정 소프트웨어는 루트 디바이스에서 [citation needed]실행을 거부합니다.

Microsoft Windows 최소 하드웨어 요건 비교(x86 버전용)
Windows 버전 프로세서 기억 하드 디스크
윈도 95[9] 25 MHz 4 MB 최대 50 MB
윈도 98[10] 66MHz 16 MB 최대 200 MB
윈도 2000[11] 133 MHz 32 MB 650 MB
Windows XP[12] (2001) 233MHz 64 MB 1.5 GB
Windows Vista[13] (2007) 800MHz 512 MB 15 GB
Windows 7[14] (2009) 1 GHz 1 GB 16 GB
Windows 8[15] (2012) 1 GHz 1 GB 16 GB
Windows 10[16] (2015) 1 GHz 1 GB 16 GB
Windows 11[17] (2021) 1 GHz

64비트 듀얼코어

4 GB 64 GB

애플아이튠스는 단순한 미디어 플레이어에서 전자상거래 [18][19]및 광고 플랫폼으로 전환하려는 노력으로 비대해졌다는 비난을 받아왔으며, 전 PC월드 에디터 에드 보트는 애플이 윈도우에 대한 유사한 관행에 [20]대한 광고 공격에서 위선을 보였다고 비난했다.2019년, 애플은 프로그램의 폐지를 임박했다고 발표했는데, 는 가디언의 한 해설자가 "오래 전에" 이 프로그램이 "바로크식 비대해졌고, 우아하고 기능적인 [21]디자인을 자랑스러워 하는 회사로서는 현저한 이례적"이라고 말했다.

, Microsoft Windows는 비대하다는 비판도 받고 있습니다.Windows Vista를 참조해, 대폭 슬림화된 새로운 Windows 7 코어 컴포넌트에 대해서, Microsoft의 엔지니어 Eric Traut씨는, 「이것은 Windows 7의 핵심입니다.이것은 저희가 꺼낸[which?] 컴포넌트 모음입니다.많은 사람들이 Windows를 매우 크고 비대해진 운영체제로 생각하고 있으며, 이는 공정한 특징일 수 있습니다.그것은 크다.내용물이 많이 들어있어요.그러나 그 핵심에는 운영 체제의 핵심을 구성하는 커널과 컴포넌트가 실제로 상당히 [22][23]합리화되어 있습니다.에드 보트는 또한 마이크로소프트가 판매한 [24]거의 모든 운영체제가 MS-DOS와 같이 현재 정반대로 간주되고 있는 것조차 최초 출시에서 '피투성이'라는 비판을 받았다고 언급하며 회의적인 반응을 보였다.Bott은 Paul Thurrott의 말을 인용하여, 일반 가정 사용자와는 거의 무관한 운영체제에 포함된 수많은 엔터프라이즈 수준의 기능에서 이러한 기능이 발생한다는 데 동의했습니다.

Nero Burning ROM과 같은 CD 및 DVD 굽기 애플리케이션은 [25]비대하다는 비판을 받고 있습니다.최종 사용자에 맞게 특별히 조정되지 않은 불필요한 기능은 기본적으로 익스프레스 셋업을 통해 설치될 수 있습니다.

많은 기술 블로그들 또한 휴대폰의 증가하는 블로트웨어 문제를 다루었다.다만, 무선 통신 사업자가 소프트웨어를 사용해 전화기를 로드하는 경우는, 많은 경우, 간단하게 삭제할 수 없는, 다른 문제를 나타내고 있습니다.이것은 Android 기기와 관련하여 가장 자주 언급되고 있지만, 이러한 현상은 다른 많은 운영 [26][27]체제를 실행하는 전화기에서 존재합니다.

이전에는 인스턴트 메시징에만 집중되어 있던 가장 인기 있는 메시징 앱 중 일부는 기능 [28][29][30][31]크리프로 인해 비대해진다는 비판을 받아왔다.위챗은 게임, 구독 서비스, 위챗페이 전자지갑,[28] 뉴스 애그리게이터, 전자상거래 허브, 전자정부[29] 기능, 영화관 예약 시스템, 레스토랑 파인더, 라이드셰어링 [31]업체 등의 기능을 추가해 앱 크기를 2011년 2MB에서 2018년 [citation needed]58MB로 늘렸다.페이스북 앱에서 분리된 페이스북 메신저도 메신저 데이(스토리), 페이스 필터, 사진 편집 기능, 낙서 그리기, 이모티콘,[32][33] 스티커 등 스냅챗에서 복사한 게임, 봇, 기능 등을 추가했다는 비판을 받고 있다.2018년 1월, Facebook Messaging 대표 David A. Marcus는 앱 자체가 매우 비대하다는 것을 인정하고 불필요한 기능을 제거하고 [30]합리화하기 위해 앱 전체를 재설계하겠다고 약속했다.새롭게 디자인되고 합리화된 Facebook Messenger 앱은 2018년 10월에 발표되었으며, 이 앱의 기능은 메시징, 스토리, 검색 탭 및 [34]카메라로 축소되었습니다.

대체 수단

GIMP와 같은 일부 응용 프로그램 및 플러그인에서 추가 기능을 제공하는 소프트웨어에서는 기본 응용 프로그램과 별도로 다운로드되는 확장 기능 또는 추가 기능을 사용합니다.소프트웨어 개발자나 서드파티 개발자가 작성할 수 있습니다.플러그인, 확장 및 추가 기능은 기본 프로그램에 패키지되었을 수 있는 추가 기능을 추가합니다.

이러한 플러그인, 확장 기능 및/또는 애드온을 허용하면 애플리케이션, "플러그인 인터페이스" 및 결합된 모든 플러그인이 단일 애플리케이션으로 컴파일된 동일한 기능보다 크더라도 각 사용자가 필요로 하는 특정 애드온 기능만 설치할 수 있기 때문에 하나의 머신에서 사용되는 공간이 줄어듭니다.모든 사용자가 사용 가능한 모든 기능을 포함하는 훨씬 더 큰 규모의 모노리식 애플리케이션을 설치하도록 강요하는 것보다 더 효과적입니다.이것에 의해, 「스트라이프 다운」또는 「디폴트」애플리케이션이 콤팩트 패키지로 제공되지만, 유저가 부족한 기능을 추가할 수 있게 됩니다.

오픈 소스 소프트웨어는 프리프로세서 디렉티브를 사용하여 컴파일 시 선택적으로 기능을 포함하는 유사한 기술을 사용할 수 있습니다.이는 플러그인 시스템보다 구현이 쉽고 보안이 강화되지만 특정 기능 세트를 원하는 사용자가 소스에서 프로그램을 컴파일해야 하는 단점이 있습니다.

때때로 소프트웨어는 "creeping featurism"([35]Zawinski의 소프트웨어 포섭의 법칙)으로 인해 비대해질 수 있습니다.이러한 부피를 줄이는 한 가지 방법은 "한 가지 일을 잘 하는 프로그램을 작성하고 그것을 잘 하는" Unix 철학을 통해 설명되며, 하나의 복잡한 소프트웨어를 파이프, 셸 스크립트 또는 다른 형태의 애플리케이션통신사용하여 함께 연결할 수 있는 수많은 단순한 컴포넌트로 분할할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ whatisbloatware.com
  2. ^ Soto-Valero, César; Harrand, Nicolas; Monperrus, Martin; Baudry, Benoit (2021). "A comprehensive study of bloated dependencies in the Maven ecosystem". Empirical Software Engineering. 26 (3): 45. arXiv:2001.07808. doi:10.1007/s10664-020-09914-8. ISSN 1382-3256. S2CID 210859213.
  3. ^ Soto-Valero, César; Durieux, Thomas; Baudry, Benoit (23 August 2021). "A longitudinal analysis of bloated Java dependencies". Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. Esec/Fse 2021. Athens Greece: ACM: 1021–1031. arXiv:2105.14226. doi:10.1145/3468264.3468589. ISBN 978-1-4503-8562-6. S2CID 235254199.
  4. ^ Raymond, Eric S. (17 September 2003). The Art of Unix Programming (1 ed.). Addison-Wesley Professional. ISBN 0131429019. Retrieved 16 June 2007. (「」도 참조해 주세요.Unix 프로그래밍의 기술)
  5. ^ a b Spolsky, Joel (2001). "Strategy Letter IV: Bloatware and the 80/20 Myth - Joel on Software". Retrieved 2 October 2006.
  6. ^ Zawinski, Jamie (1998). "easter eggs". Retrieved 9 January 2008.
  7. ^ Santo Domingo, Joel (13 February 2012). "How to Remove Bloatware". PC Magazine.
  8. ^ Mukesh, Bhavesh (4 March 2016). "Advantages & Disadvantages of Rooting Android Smartphones". The Android Portal.
  9. ^ "Microsoft KB: Windows 95 Installation Requirements". Retrieved 22 July 2007.
  10. ^ "Microsoft KB: Minimum Hardware Requirements for a Windows 98 Installation". Retrieved 22 July 2007.
  11. ^ "Windows 2000 Server Getting Started: Chapter 3 - Planning Your Windows 2000 Server Installation". Microsoft. Retrieved 29 August 2007.
  12. ^ "Microsoft KB: System requirements for Windows XP operating systems". Retrieved 22 July 2007.
  13. ^ "Microsoft KB: System requirements for Windows Vista". Retrieved 22 July 2007.
  14. ^ "Microsoft: System requirements for Windows 7". Retrieved 9 October 2009.
  15. ^ "Windows 8 Release Preview ISO images". Retrieved 12 August 2012. Windows 8 Release Preview works great on the same hardware that powers Windows 7
  16. ^ "7 things to remember if you're trying out the Windows 10 preview". computerworld.com. October 2014. Retrieved 29 March 2015.
  17. ^ Lawler, Richard (24 June 2021). "Microsoft is changing the Windows 11 minimum requirements". The Verge. Retrieved 25 June 2021.
  18. ^ Streza, Steve (7 March 2007). "What happened to iTunes?".
  19. ^ Buchanan, Matt (12 October 2009). "iTunes 9 Will Be a Bloated Social Monster". Gizmodo. Retrieved 14 January 2010.
  20. ^ Bott, Ed (3 October 2008). "Slimming down the bloated iTunes installer". ZDNet. Retrieved 14 January 2010.
  21. ^ Naughton, John (9 March 2019). "Farewell then, iTunes, and thanks for saving the music industry from itself". The Guardian. Retrieved 10 March 2019.
  22. ^ McDougall, Paul (28 January 2008). "Software Tool Strips Windows Vista To Bare Bones". informationweek.com.
  23. ^ Bott, Ed (31 March 2008). "Is MinWin really the new Windows 7 kernel?". ZDNet.
  24. ^ Bott, Ed (13 March 2006). "Windows bloat? It's always been that way". ZDNet.
  25. ^ Cassia, Fernando (27 February 2007). "'Nero Lite' and 'Nero Micro': smaller sometimes is better". The Inquirer. Archived from the original on 2 March 2007. Retrieved 7 March 2007.{{cite news}}: CS1 유지보수: 부적합한 URL(링크)
  26. ^ Gartenberg, Michael (12 September 2010). "Entelligence: Will carriers destroy the Android vision?". Engadget. Retrieved 21 September 2010.
  27. ^ Milian, Mark (15 June 2010). "'Junkware' comes standard on Verizon, T-Mobile smart phones". Los Angeles Times. Retrieved 21 September 2010.
  28. ^ a b Bischoff, Paul (12 February 2014). "What WeChat needs to learn from Facebook". Tech in Asia. Retrieved 16 February 2020.
  29. ^ a b Chen, Laurie (22 July 2018). "Why China's tech-savvy millennials are quitting WeChat". South China Morning Post. Hong Kong. Retrieved 16 February 2020.
  30. ^ a b Constine, Josh (16 January 2018). "Bloated Facebook Messenger promises to simplify in 2018". TechCrunch. Retrieved 16 February 2020.
  31. ^ a b "Facebook opens up Messenger to third-party apps". BBC. 25 March 2015. Retrieved 16 February 2020.
  32. ^ Brown, Aaron (7 February 2017). "Facebook almost ruined WhatsApp, and now it has ruined Messenger". Daily Express. Retrieved 16 February 2020.
  33. ^ Welch, Chris (18 May 2017). "How to replace Facebook Messenger with a much simpler, lighter version". The Verge. Retrieved 16 February 2020.
  34. ^ Price, Rob (23 October 2018). "Facebook is giving Messenger an overhaul to try and cut down on bloat – and adding a dark mode". Business Insider. Retrieved 16 February 2020.
  35. ^ Adams, Ernest (1 May 2007). "The Designer's Notebook: "creeping featurism produces a bloated, complicated mess".