On Thu, May 21, 2009 at 00:54, Michael Mossey <m...@alumni.caltech.edu> wrote: > I call it "design by negation." When asked to justify his design, the lead > software architect explains everything that *wouldn't* work. "We couldn't > have a unique key for every entry because blah blah blah. We couldn't use a > garbage collector because blah blah. We couldn't write a sugar layer because > then you have to document it separately blah blah." So the chosen design > seems to be the only thing left after eliminating everything you can't do. > > I want to aspire to "positive design." I want to list the goals, and think > of design as making clever choices that meet all the goals.
I think there is often a good "default" solution which is so obvious that experienced software architects won't even bother to mention. This is the case for both examples that you mention (unique keys in a database, garbage collection). They then go on to give reasons why the "default" solution would not work in their case. Thomas _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe