This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: "Documentation by paper"
- From: Jamie Lokier <jamie at shareable dot org>
- To: Robert Dewar <dewar at gnat dot com>
- Cc: Joe dot Buck at synopsys dot COM, asutton at cs dot kent dot edu, gcc at gcc dot gnu dot org, kenner at vlsi1 dot ultra dot nyu dot edu, law at redhat dot com
- Date: Mon, 2 Feb 2004 17:51:23 +0000
- Subject: Re: "Documentation by paper"
- References: <20040202171609.806A3F2DCB@nile.gnat.com>
Robert Dewar wrote:
> I would also say that it is unacceptable to start work on
> an implementation without first creating the fully commented spec.
How do you write the fully commented spec of an implementation which
may take 10 years to figure out what it should do exactly? You can
easily be stuck with a spec that is not practical to implement, or
does not behave as you hoped it would. Sometimes the only way to
understand the implications of the logic of a specification is to have
an implementation to hand.
To pick an example, are you saying all of the exposed mechanism of the
VM layer of the Linux kernel must be fully specified before anyone
begins to implement it? That's absurdly impractical, because until
many varying structures have been tried, nobody knows what will work
well. Only the highest levels of specification are possible in
advance.
This is what I meant by non-waterfall development style: sometimes
it's just _easier_ to develop an implementation and the details of its
spec at the same time (and change all the callers as you go if there
are any by then), because it's too hard to figure out what is
practical to implement until you have done some of it.
However you may have a point. Some parts of GCC are an example of
this type of development gone awry :)
-- Jamie