Hi,

[snip]
> In my search for information, I came across the fact
> that gEDA was using noweb, but that there was a rather
> abrupt switch starting about 2005 or 2006.

Yes, gEDA/gaf was using noweb.  It was my
experimentation with literal programming.  I chose noweb
because it was available on most platforms and its
syntax (at first) seemed fairly sane.

>
> What exactly were the reasons for utterly abandoning
> noweb (and literate programming in general)?
>
>        (1) build troubles?
>        (2) explaining to people?
>

Building with noweb and the auto* tools was fairly
straightforward, though getting things like make distcheck
to work right were tricky (I don't think I succeeded 100%).

It really came down to several issues why noweb got removed:

1) It was completely foreign to almost all developers.  If you
didn't use emacs to edit the noweb code, it was exceedingly
difficult to make even the simplest of changes.  Things were
made even worse when the code chunks came into play.
These made looking at and following the code even harder
(as it wasn't always a linear organization to the source code).

2) Debugging executables which were built from noweb
sources was somewhat painful.  Sometimes there was line
number skew between what was being debugged and the
source code.  This problem was solved towards the end of
the noweb experiment with some macros and/or compile
time command line flags.

3) There was this alway constant complaint/whine: "what's
with this noweb thing".  I grew quite tired of explaining
and defending it. :-)

4) Having make distcheck work out of the box is really nice
and makes my life so much easier when cutting releases.

Instead of using noweb (or any other literal programming
mechanism), gEDA/gaf migrated to using doxygen which
most people don't seem to mind.  Also, once noweb usage
was removed from gEDA/gaf, the number of code
contributions grew and the developers seemed much
happier.

Hope that helps,
-Ales

--
Ales Hvezda
[EMAIL PROTECTED]


_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev

Reply via email to