미니멀리즘(컴퓨팅)

Minimalism (computing)

컴퓨팅에서 미니멀리즘은 하드웨어와 소프트웨어의 설계와 사용에 미니멀리즘 철학과 원칙을 적용하는 것을 말합니다.미니멀리즘은 이런 의미에서 하드웨어와 소프트웨어 자원을 최대한 적게 사용하는 시스템을 설계하는 것을 의미합니다.

역사

1970년대 후반과 1980년대 초반에 프로그래머들은 비교적 비용이 많이 들고 제한된 공통 플랫폼 자원 범위 내에서 작업했습니다.RAM은 8~16킬로바이트가 일반적이었습니다.64킬로바이트는 방대한 양으로 간주되어 PC의 초기 세대에서는 8비트 CPU가 지배하고 있던 주소 공간 전체에 액세스 할 수 있었습니다.가장 일반적인 저장 매체는 88~170킬로바이트의 5.25인치 플로피 디스크였습니다.용량이 5메가바이트에서 10메가바이트인 하드 드라이브는 가격이 수천 달러입니다.

시간이 지남에 따라 퍼스널 컴퓨터 메모리의 용량이 몇 배나 확대되었고 주류 프로그래머들은 추가된 스토리지를 이용하여 소프트웨어 기능을 향상시키고 고급 언어를 사용하여 개발을 용이하게 했습니다.반면 레거시 소프트웨어의 시스템 요건은 그대로였습니다.그 결과, 과거의 가장 정교하고 기능이 풍부한 프로그램도 현재의 소프트웨어에 비해 미니멀한 것으로 보입니다.이러한 프로그램의 대부분은 현재 포기 소프트웨어로 간주되고 있습니다.

한때 시스템 요건이 큰 평판을 얻었던 프로그램의 예로는 GNU Emacs 텍스트 에디터가 있습니다.GNU Emacs 텍스트 에디터는 8메가바이트의 [1]RAM이 많았던 시대에 "Eight Mbytes And Continuously Swaping"이라는 역어를 얻었습니다.현재 Emacs의 주요 텍스트 버퍼 기반 패러다임은 Eclipse나 [2]Netbeans같은 동등한 기능을 가진 데스크톱 메타포 GUI IDE보다 훨씬 적은 리소스를 사용합니다.2002년 국제 리스프 회의에서 리처드 스톨먼리스프에서의 경험과 당시 [3]보급형 미니컴퓨터의 시스템 사양에 기초하여 GNU와 Emacs를 개발할 때 미니멀리즘이 그의 관심사였다고 지적했습니다.

1980년대와 1990년대에 걸쳐 일반적인 데스크톱 소프트웨어 및 운영체제의 기능과 시스템 요건이 증가하여 소프트웨어 개발이 경쟁적이고 패디한 소프트웨어 개발 방법론을 지지하는 팀에 의해 지배됨에 따라 일부 개발자는 미니멀리즘을 철학으로 채택하고 프로그램을 사전 결정으로 제한하기로 결정했습니다.크기 또는 [4]범위 지정.소프트웨어 최적화에 초점을 맞추면 프로그래머가 실행 [5]속도를 높이기 위해 실행하는 작업의 수를 줄일 수 있기 때문에 최소한의 소프트웨어가 될 수 있습니다.

21세기 초 컴퓨팅의 새로운 발전은 미니멀리즘을 전면에 내세웠습니다.포스트 PC 시대라고 불리는 시대에는 단순히 일반적인 컴퓨팅 [6]작업을 수행하기 위해 하이엔드 PC를 구입할 필요가 없어졌습니다.스마트폰, 태블릿 컴퓨터, 넷북, 플러그 컴퓨터와 같은 모바일 컴퓨팅 디바이스는 대체될 것으로 예상되는 개인용 컴퓨터에 비해 메모리 용량이 작고 그래픽 서브시스템 성능이 떨어지며 프로세서가 느려지는 경우가 많습니다.또한 알파 블렌딩과 같은 그래픽 효과를 많이 사용하면 "플랫 UI"[7]보다 배터리가 더 빨리 소모됩니다.이러한 기기의 인기가 높아짐에 따라 미니멀리즘은 중요한 디자인 문제로 대두되고 있습니다.

구글크롬 브라우저와 크롬 OS는 미니멀리즘 디자인의 [8][9]예로 자주 언급된다.Windows 8 에서는, Microsoft 는, 「심플한 사각형의」메트로의 외관을 위해, 그래픽을 많이 사용하는 Aero 유저 인터페이스를 폐기하기로 결정했습니다.그 때문에, 시스템 리소스가 적게 필요하게 되었습니다.이러한 변화는 부분적으로 소형 배터리 구동 장치의 증가와 [10][11][12]전력 절약의 필요성 때문에 이루어졌다.애플 iOS 버전 7도 사용자 경험[13]이유로 비슷한 변경을 가했다.

사용.

개발자는 사용자를 혼란스럽게 할 수 있는 버튼과 대화 상자를 제거하여 사용자 인터페이스를 최대한 단순하게 만들 수 있습니다.미니멀리즘은 때때로 시각 예술적 의미, 특히 하드웨어 장치나 소프트웨어 테마의 산업 디자인에서 사용됩니다.

일부 개발자들은 특정 기능을 가장 적은 코드 줄 또는 특정 플랫폼에서 [14][15]가능한 가장 작은 컴파일된 실행 파일 크기로 수행하는 프로그램을 만들려고 시도했습니다.일부 Linux 배포판에서는 미니멀리즘을 목표로 언급하고 있습니다.Alpine Linux, Arch Linux, Puppy Linux, Bodhi Linux, CrunchBang Linux, dynebolic[16] Tiny Core Linux가 그 입니다.Unix 시스템의 초기 개발은 저전력 하드웨어에서 이루어졌으며, Dennis Ritchie와 Ken Thompson은 이러한 제약이 시스템의 "설계 능력"[17]에 기여했다고 그들의 의견을 밝혔다.

프로그래밍 언어 설계자는 구문설탕광범위한 라이브러리 기능을 사용하지 않음으로써 최소한의 프로그래밍 언어를 만들 수 있습니다.이러한 언어는 일반적인 프로그래밍 태스크에 대한 표준 지원을 제공하지 않기 때문에 튜링 타빗일 수 있습니다.최소한의 Lisp 인터프리터를 만드는 것은 컴퓨터 공학과 [18]학생에게 일반적인 학습 과제입니다.Alonzo Church가 개발한 람다 미적분은 함수 정의와 [19][20]함수 애플리케이션만 사용하는 최소 프로그래밍 언어입니다.Scheme,[21][22] [23]Fourth [24][25] Go는 실용적이고 최소한의 프로그래밍 언어의 예로 인용된다.

코드 골프의 프로그래밍 취미로 인해 미니멀리즘 소프트웨어가 [26]생성되지만, 이는 일반적으로 사용 가능한 애플리케이션 소프트웨어가 아닌 연습이나 코드 시입니다.

밀러 캐럴은 그의 저서 '미니멀리즘을 넘어서는'에서 미니멀리즘의 사용은 비디오 게임, ATM, 투표기, 쇼핑몰 키오스크와 같은 "즉각적인" 기기들로 하여금 [27]매뉴얼을 읽을 필요가 거의 없거나 전혀 없는 학습 곡선을 갖게 한다고 지적했다.User Interface 연구진은 절약과 투명성의 디자인 원리에 의해 설명되었듯이 미니멀리즘이 효율성과 학습성을 [28]강화한다는 것을 시사하는 실험을 수행했습니다.미니멀리즘은 "모든 이 텍스트 스트림"과 "한 가지 일을 잘 하고 잘 한다"는 유닉스 철학에 내포되어 있지만, 현대의 유닉스/리눅스 배포판은 이 [29]철학을 엄격하게 준수하지는 않습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Hagen, William von (13 May 2010). Ubuntu Linux Bible: Featuring Ubuntu 10.04 LTS. ISBN 9780470881804.
  2. ^ "Five reasons why Emacs will always be better".
  3. ^ "My Lisp Experiences and the Development of GNU Emacs". ...I aimed to make the absolute minimal possible Lisp implementation. The size of the programs was a tremendous concern. There were people in those days, in 1985, who had one-megabyte machines without virtual memory. They wanted to be able to use GNU Emacs. This meant I had to keep the program as small as possible. For instance, at the time the only looping construct was while, which was extremely simple. There was no way to break out of the ‘while’ statement, you just had to do a catch and a throw, or test a variable that ran the loop. That shows how far I was pushing to keep things small. We didn't have 'caar' and 'cadr' and so on; "squeeze out everything possible" was the spirit of GNU Emacs, the spirit of Emacs Lisp, from the beginning.
  4. ^ "dwm - dynamic window manager".
  5. ^ ne는 리소스를 절약하는 것을 기본 목표로 작성되었습니다.CPU의 시간과 메모리의 사용, 시스템콜의 수, 단말기에 출력되는 문자수를 줄이기 위해 가능한 모든 노력을 기울이고 있습니다.-- ne info 페이지
  6. ^ Strickland, Jonathan (12 February 2009). "HowStuffWorks "What's the difference between notebooks, netbooks and ultra-mobi"". Computer.howstuffworks.com. Retrieved 8 July 2013.
  7. ^ "5 ways to improve battery life in your app".
  8. ^ "Google Chrome Cr-48, Paragon of Minimalist Design". PC Magazine. 13 December 2010.
  9. ^ Pilcher, Pat (13 July 2009). "Battle of the browsers - which is master of the web?". The Independent. London. Archived from the original on 15 May 2022.
  10. ^ Chang, Alexandra (21 May 2012). "Microsoft Drops 'Aero Glass' User Interface in Windows 8 Gadget Lab". Wired. Wired.com. Retrieved 8 July 2013.
  11. ^ McCracken, Harry (22 May 2012). "Windows Aero: Why I'm Glad It's Dead TIME.com". Time. Techland.time.com. Retrieved 8 July 2013.
  12. ^ 2009년에는 데스크톱이 전 세계 시장의 44%, 노트북이 56%였습니다.불과 3년 후, 판매된 PC의 61% 이상이 노트북이며, 그 추세는 가속화되고 있습니다.이는 전 세계적으로 판매된 모든 Windows PC의 수치입니다.올해 미국 내 PC를 구매하는 소비자 중 76% 이상이 노트북을 구매할 것입니다. 즉, 미국에서 판매되는 모든 데스크톱의 절대 수는 2012년의 태블릿 수보다 적을 것입니다.
  13. ^ "Why Jony Ive Is Killing Skeuomorphism In iOS 7". 10 June 2013.
  14. ^ "Crafting a Tiny Mach-O Executable".
  15. ^ "Minimalist Cocoa programming".
  16. ^ "Friendly to the environment". Archived from the original on 2 February 2014. Retrieved 31 January 2014. This operating system is designed to run on Pentium2 processors with 256MB RAM, not even an harddisk is needed. Unleash the full potential of computers even with a second hand PC.
  17. ^ "The Art of Unix Programming". A 1974 paper in Communications of the ACM gave Unix its first public exposure. In that paper, its authors described the unprecedentedly simple design of Unix, reported over 600 Unix installations. All were on machines underpowered even by the standards of that day, but (as Ritchie and Thompson wrote) "constraint has encouraged not only economy, but also a certain elegance of design."
  18. ^ "Build Your Own Lisp".
  19. ^ Stuart, Tom (15 May 2013). Understanding Computation. ISBN 9781449330118.
  20. ^ "7 lines of code, 3 minutes: Implement a programming language from scratch".
  21. ^ "The Evolution of Lisp" (PDF). The initial report on Scheme [Sussman, 1975b] describes a very spare language, with a minimum of primitive constructs, one per concept. (Why take two when one will do?)
  22. ^ "Scheme-faq-general". Scheme is a dialect of Lisp that stresses conceptual elegance and simplicity.
  23. ^ Biancuzzi, Federico; Chromatic (21 March 2009). Masterminds of Programming: Conversations with the Creators of Major Programming Languages. ISBN 9780596555504. Forth is a computer language with minimal syntax
  24. ^ "Go". Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
  25. ^ "Interview with Ken Thompson". ...we started off with the idea that all three of us had to be talked into every feature in the language, so there was no extraneous garbage put into the language for any reason.
  26. ^ "Wik Wiki A Wiki in 1287 characters of PHP".
  27. ^ John Millar Carroll (1998). Minimalism Beyond the Nurnberg Funnel. Cambridge, Mass.: MIT Press. ISBN 0-262-03249-X. Retrieved 21 November 2007.
  28. ^ Wren, C.; Reynolds, C. (2004). "Minimalism in Ubiquitous Interface Design" (PDF). Personal and Ubiquitous Computing. Springer. 8 (5): 370–373. doi:10.1007/s00779-004-0299-2. S2CID 14851897. Retrieved 29 July 2008.
  29. ^ "Uzbl - web interface tools which adhere to the unix philosophy". The general idea is that Uzbl by default is very bare bones.