Re: Re: software design clarification
Nathaniel Smith <[email protected]> Sun, 13 May 2007 22:54:44 -0700
| Newsgroups | gmane.comp.documentation.synopsis |
|---|---|
| Message-ID | <[email protected]> |
On Sun, May 13, 2007 at 08:11:54PM +0200, Markus Elfring wrote: > > >You haven't discussed the "Synopsis class library" yet. Neither the > >existing > >API, nor any changes you suggest. So how could anybody be able to form an > >idea about that ? > > I see this as an ordinary way for software developers. A design > selection will be considered which will be implemented in classes and > aspects for the target programming languages. Ah. That's a wide-spread belief, but experience has shown that this is a very bad way to develop software in practice. The most successful projects work by focusing on concrete use cases, developing minimal solutions to achieve those use cases (by whatever means necessary), and iterating. (That FOSS programmers have generally learned this lesson is one of the reasons why FOSS tends to be of higher quality than proprietary software.) It's not a new idea, though; you should read, for instance: http://www.tjinc.com/Drexel/ISYS425/Docs/05-Broo87.pdf http://www.cs.unc.edu/%7Ebrooks/Toolsmith-CACM.pdf http://c2.com/cgi/wiki?BigDesignUpFront http://c2.com/cgi/wiki?DoTheSimplestThingThatCouldPossiblyWork http://c2.com/cgi/wiki?IncrementalDelivery Heck, pretty much all of this: http://c2.com/cgi/wiki?CategoryExtremeProgramming Of course, there's much more in this area, but that should be enough to get you started. -- Nathaniel -- So let us espouse a less contested notion of truth and falsehood, even if it is philosophically debatable (if we listen to philosophers, we must debate everything, and there would be no end to the discussion). -- Serendipities, Umberto Eco