This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: "Documentation by paper"


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]