Fog Creek Software
Discussion Board

Another unix cultural value?

Another book that discusses UNIX cultural values is The UNIX Haters Handbook, which can be obtained from

At the end of the handbook is an article titled "The Rise of Worse Is Better".  For those of you who have read this article what are your thoughts on whether it still applies to the UNIX world, especially to Linux?

Scot Doyle
Monday, December 15, 2003

Monday, December 15, 2003

Before you people go on a rant, I'd look at and really think about it. If you have the time, listen to the stream off

Monday, December 15, 2003

Also read Jim Waldo's "Worse is Worse", which starts:

"The classic essay on "worse is better" is either misunderstood or wrong. And in citing it in our design arguments, we short change both our customers and our craft."

Monday, December 15, 2003

I think it depends an awful lot what code exactly we are taking about.
A operating system and associated processes make up a hugely complex set of code, the more you can reduce that using the "worse is better" approach I think the better off everyone is.

Its a _lot_ easier to debug code that is simple, and no one using a cli or the operating system expects anythign to be easy.

OTOH that approach is clearly insufficient for a GUI app aimed at the end user.

Personally I think that the fact that unix was built under the worse is better paradigm speaks for itself, love it or hate it you have to admit that its a _very_ stable operating system and that for most server level work there is nothing out there that is better. (ok, ok, if you believe that some species of windows is better thats fine, but you_surely_ still have to admit that unix _is_ a _very_ stable and strong operating system?)

The bottom line is that if you are writing extremely complex code, like an operating system in the unix style, keeping everything simple and lines of responsibility _is_ important.

Whereas if you are writing an app for the ned user, simply making it possible for them to actually use it is probably more important...

Monday, December 15, 2003

The best part of the Unix Haters' Handbook is Dennis Ritchie's anti-forward.  For those who are enamoured with the cuteness of UHH, perhaps a reread of the his paragraph is in order.

Tuesday, December 16, 2003


That whole worse is better article is:
1. Convoluted.
2. Void of substance and empirical data.
3. Lacking any analytical model.

How can anyone even begin to decide whether its right or wrong.  It clearly favors "big design", and denegrates the notion of agile notion of build what you need now (that is almost the definition of worse is better, yet is now embraced by XP and other agile methods).

More blog shmog.  More opinions on nothingness. 

More "everyone has one", smell mine.
Mee too.

Tuesday, December 16, 2003

The "worse is better" article basically states the following:

A practical design, even if it's not perfect, will be adopted by the users over an academic model that is conceptually better but requires large hardware and is a bitch to implement.


Tuesday, December 16, 2003

"How can anyone even begin to decide whether its right or wrong.  It clearly favors "big design", and denegrates the notion of agile notion of build what you need now (that is almost the definition of worse is better, yet is now embraced by XP and other agile methods)."

Wow, you got that almost perfectly wrong.

The "worse is better" essay is exactly about how the agile notion beat out BDUF methodology, even though the latter is, on paper, far superior.  His derisive tone towards C and Unix are an admission of hubris on his part, since he's an east coast, BDUF, get-it-perfect coder who's understanding why C is everywhere and Lisp is nowhere.

The "worse is better" essay is a section of a much larger essay criticizing the Lisp community for marginalizing itself with east coast design:

Justin Johnson
Tuesday, December 16, 2003

fw, thanks for the techcast link, it was a very informative discussion.

The main tension I heard them discussing was that of releasing something sooner vs. holding back until it was more 'correct'.  A great point was made that unless something was released, there was no real good way to obtain input from users to guide development.  And yet if something was released sooner it would have to be supported into the future for backwards compatibility.  This is a new way to look at the release cycle tension that I hadn't considered before.

While listening to it I was reminded of the JoS article about barriers to entry.  The less is more folks seem to be much more proactive in eliminating these barriers.

Portabella, thanks for the link to Jim Waldo's article.  I agree that it is important to define what is 'better'.  Perhaps one could say that in the unix/server-side world it is better to have more control and in the windows/client-side world it's better to have a consistent user experience and workable default settings for everything?

Hoser, D reread the anti-forward and agree with much of what dennis says.  IMO, there is some value in pointing out shortcomings.  after struggling to use red hat for my day to day needs over a period of nine months, there was much I could relate to.  But as he points out there is a definite lack of precision.  Perhaps this gets back to the jim waldo article about people having different assumptions about what is good?

Scot Doyle
Tuesday, December 16, 2003

*  Recent Topics

*  Fog Creek Home