Lists Home |
Date Index |
On Tuesday 22 January 2002 10:23 am, Mark Baker wrote:
> "worse is better" is usually used by people who don't see the larger
> context in which a system is designed, and don't understand all the
> tradeoffs that were made.
This is as much a wild generalization as the "worse is better
In the case of the WWW, I *very* much doubt that it was designed with
all the tradeoffs in mind.... I watched it, and participated in it's
development. If there is any person that claims they knew all we know
now in 1993 (after the WWW per se was designed), and made design
decisions based on tradeoffs fed by that knowledge, I'd like them to
stand up *now* so I can call them a liar to their face.
The WWW was designed to be "good enough" to do basic things, and has
evolved since. The whole bogosity in URI's and the nonsense in "URI
space" in WebDAV, and REST for that matter, are shoehorning additional
semantics (or denying they exist despite reality) on top of an
existing system. These often work well, sometimes only so-so. The
system was *not* designed with these things in mind. Part of the
beauty of the WWW is that it does remain "good enough".
This style of development (rapid evolutionary design I used to call
it), is one methodology, and often beats "better is better" because it
leverages short-term success to build momentum. It also generally
requires prototypes to be thrown away (you have to know when to stop
teaching the old dog new tricks). Another kind of design is used when
"good enough" doesn't cut it, and is only applicable if the problem
domain is very well understood. In that case, you *can* design systems
that work exactly as specified. That is "software engineering" as a
science vs. "software engineering" as an art.
I'd be *really* upset if someone designed the flight control system of
commerical airliners like we did the WWW. Jesus Monroy exemplifies the
"better is better school"
and sometimes I agree with him, that we should "Hang The Engineer".
I'm not sure his FDC code ever did ship though ;-)