더 나쁜 것이 낫다.
Worse is betterWorn is better (New Jersey style이라고도[1] 함)은 리처드 P. 가브리엘이 소프트웨어 수용의 역동성을 설명하기 위해 같은 이름의 에세이에서 착안한 용어다. 그것은 소프트웨어 품질이 기능성과 함께 반드시 증가하지는 않는다는 주장을 가리킨다: 실용성과 사용성 측면에서 기능성("악화")이 덜 바람직한 선택("더 나은")이 되는 지점이 있다. 제한적이지만 사용하기 쉬운 소프트웨어는 그 반대보다 사용자와 시장에 더 매력적일 수 있다.
모순어법 제목에 대해 가브리엘은 그것을 캐리커처라고 부르며 "The Right Thing"에 비해 스타일이 나쁘다고 선언한다. 그러나 그는 또한 "올바른 것" 개발 방식보다 생존 특성이 뛰어나며, 그것을 대조한 "MIT 접근법"보다 우월하다고 말한다.[2]
이 에세이는 1994년 《UNIX-HATUS 핸드북》에 수록되었으며, 미국 동부 해안과 서부 해안에서 개발자 간의 개념적 분할 개념의 기원으로 언급되어 왔다.[3]
기원
가브리엘은 1989년 자신의 에세이 '리스프: 좋은 뉴스, 나쁜 뉴스, 어떻게 큰 성공을 거둘 것인가'에서 이 개념을 공식화했을 때 리스프 프로그래머였다. 제이미 자윈스키가 루시드 주식회사의 가브리엘의 파일에서 그것을 발견하고 그것을 친구들과 동료들에게 이메일로 보낸 이후인 1991년부터 "The Rise of the Rise's Better"라는 제목의 기사의 한 섹션이 널리 보급되었다.[2]
특성.
뉴저지 스타일
가브리엘은 "Lise of Borness is Better"에서 "Wores-is-Better"("New Jersey style" 또는 "East Coast")[3]는 (중요성의 대략 내림차순으로) 특성을 가진 소프트웨어 설계 및 구현 모델이라고 주장했다.
- 단순성
- 설계는 구현과 인터페이스 모두에서 단순해야 한다. 인터페이스보다 구현이 더 중요하다. 단순성은 디자인에서 가장 중요한 고려사항이다.
- 정확성
- 설계는 모든 관찰 가능한 측면에서 정확해야 한다. 정확하기보다는 단순해지는 것이 약간 낫다.
- 일관성
- 설계가 지나치게 일관성이 없어서는 안 된다. 단순성을 위해 일관성을 희생할 수 있는 경우도 있지만, 구현에 복잡성이나 불일치를 도입하는 것보다 덜 일반적인 상황을 다루는 설계의 그러한 부분은 삭제하는 것이 좋다.
- 완성도
- 디자인은 실용적인 만큼 중요한 상황을 다루어야 한다. 합리적으로 예상되는 모든 경우를 다루어야 한다. 완전성은 다른 어떤 품질에도 유리하게 희생될 수 있다. 사실 구현 단순성이 위태로워질 때마다 완전성이 희생되어야 한다. 단순성이 유지된다면 일관성은 완전성을 얻기 위해 희생될 수 있다. 특히 가치가 없는 것은 인터페이스의 일관성이다.
MIT 접근법
가브리엘은 자신의 철학을 "MIT/스탠포드 스타일의 디자인" 또는 "MIT 접근법"("서해안" 접근법[3] 또는 "올바른 것"이라고도 함)이라고 불렀던 것과 대조했다.
- 단순성
- 설계는 구현과 인터페이스 모두에서 단순해야 한다. 인터페이스가 구현보다 단순해지는 것이 더 중요하다.
- 정확성
- 설계는 모든 관찰 가능한 측면에서 정확해야 한다. 부정확함은 도저히 허용되지 않는다.
- 일관성
- 디자인은 일관성이 있어야 한다. 설계는 불일치를 방지하기 위해 약간 덜 단순하고 덜 완전하도록 허용된다. 일관성은 정확성만큼이나 중요하다.
- 완성도
- 디자인은 실용적인 만큼 중요한 상황을 다루어야 한다. 합리적으로 예상되는 모든 경우를 다루어야 한다. 단순함이 지나치게 완성도를 떨어뜨리는 것은 허용되지 않는다.
가브리엘은 벨 연구소에 의해 개발된 초기 유닉스와 C가 더 나쁜 설계 접근법의 예라고 주장했다. 그는 또한 그들을 "최종적인 컴퓨터 바이러스"라고 부른다.
영향들
가브리엘은 초기 프로그램이 기본적으로 좋은 한 초기 구현에 훨씬 적은 시간과 노력이 들 것이고 새로운 상황에 적응하는 것이 더 쉬울 것이라는 MIT 접근법보다 "더 나은 것이 낫다"고 주장했다. 예를 들어 소프트웨어를 새로운 컴퓨터에 포팅하는 것은 이런 방식으로 훨씬 쉬워진다. 따라서 MIT 접근방식을 사용하여 개발된 프로그램이 개발 및 배치될 기회를 갖기 훨씬 전에 그것의 사용은 빠르게 확산될 것이다(퍼스트 무버 우위). 일단 그것이 확산되면, 그것의 기능성을 향상시켜야 한다는 압력이 있을 것이지만, 사용자들은 이미 "올바른 것"이 아닌 "더 나쁜 것"을 받아들이도록 조건화되었다.[4]
따라서, 더 나쁜 소프트웨어는 먼저 승인을 얻을 것이고, 두 번째는 사용자들이 덜 기대하도록 조건을 붙일 것이며, 세 번째는 거의 옳은 수준으로 개선될 것이다. 구체적으로 말하면 1987년 Lisp 컴파일러가 C 컴파일러만큼 좋았지만, Lisp 컴파일러를 더 좋게 만들고자 하는 것보다 C 컴파일러를 더 좋게 만들고 싶어하는 컴파일러 전문가가 훨씬 더 많다.
가브리엘은 제이미 자윈스키가 '리스프: 좋은 뉴스, 나쁜 뉴스, 이기는 법'의 더 나쁜 부분을 발췌하여 카네기 멜론 대학의 친구들에게 이메일을 보냈는데, 그는 그들을 "어디서나 친구들에게 보냈다"고 말했다.[5] 그는 분명히 이러한 아이디어들을 리처드 스톨만의 아이디어들과 연결시켰으며 유닉스의 디자인 철학에서 중요한 관련 아이디어들과 보다 일반적으로는 오픈소스 운동에서 두 가지 모두 리눅스의 발전의 중심이었던 관련 아이디어들을 보았다.
그는 다른가 더 나쁜 일은 정말 from?, 객체 지향 프로그래밍 분야에서 C++의 성공에 좀 더 우아한 언어 디자인의 존재에도 불구하고 개념을 적용일 2000년 12월에 가브리엘 한 Worse 있나 나은 제도 Worse[6]이라는 필명하 Nickieben 부르바키. Nicolas.(니콜라 부르바키를 암시한)밑을, 그의 초기 에세이는 대답했다.교육 컨셉을 [7]중심으로
UNIX-HATUS 핸드북에는 Worst is Better가 부록으로 수록되어 있으며, 유닉스가 경쟁사보다 "진화적으로 우월하다"는 형태로 더 나쁜 개념의 프레임을 짜고 있다.[8]
참고 항목
참조
- ^ 더 나쁜 것은 Better vs. Better is Better
- ^ a b 더 나쁜 것이 낫다, 리처드 P. 가브리엘
- ^ a b c Worst is Worst, Jim Waldo, Sun Microsystems 엔지니어
- ^ 리스프: 좋은 뉴스, 나쁜 뉴스, 빅을 이기는 방법, 리차드 P. 가브리엘
- ^ Daniel Weinreb. "The "Worse is Better" idea and the future of Lisp". Archived from the original on June 11, 2009.
- ^ 더 나쁜 것은 더 나쁜 것이다(PDF), 리처드 P. 가브리엘은 "니키벤 부르바키" 역을 맡았다.
- ^ 더 나쁜 것은 정말 좋다, 리차드 P. 가브리엘
- ^ Kreinin, Yossi (August 11, 2012). "What "Worse is Better vs The Right Thing" is really about". Proper Fixation. Retrieved 2018-11-24.