https://www.jwz.org/doc/worse-is-better.html
소프트웨어를 디자인하는 두가지 방법.
“The right thing”: Common Lisp
“Worse is better”: C & Unix
실용적인 수준으로 유스케이스를 커버하면 됨. 구현이 복잡해지는 경우에는 그냥 구현하지 마라.
프로그래머는 The right thing을 원하는 경향이 있지만 Unix & C의 사례를 보면 Worse is better 가 더 좋을 수 있음.
Unix & C는 구현이 간단했기 때문에 각종 디바이스에 포팅되었고, 바이러스처럼 점유율이 높아졌음.
점유율이 높아지니까 자연스럽게 고치고자 하는 니즈가 생김 => 더 많은 사람과 자본이 투입됨.
Common Lisp는 처음부터 잘 만들려고 했지만 관성을 얻지 못함.
일반적으로 50~80% 정도의 유스케이스를 잘 커버하고 쓰기 쉬우면 사람들은 쓰게 되는 경향성이 있음