[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: Reimplementing code, was: gEDA-user: Free Dog meeting report: Notes on the topics we discussed



> Everyone who wants to change languages isn't familiar with the gEDA
> code base. There are over 750K lines of code that work and that are
> understood by at least one developer. Now, I've been using these tools for =
> 2=20
> or 3 years. I'm fluent in c and c++ and I've looked at some of the code=20
> (Specifically, in PCB and gschem). Just because I've looked at some of the=
> =20
> code doesn't mean I know squat about how it works (I don't...).=20

I was going to join the others on this thread in flaming Java, but
decided that it was pointless to do so.  However, Marvin's comment was
particularly intelligent, so I thought that I could use it to add my
own riff to this discussion.

Yes, everybody has their own favorite language.  However, it's totally
unlikely that any of the gEDA Suite will be re-written anytime soon.
It has a lot of inertia behind it.  Moreover, I'd say that anybody who
wants to start a new open-source EDA pacakge at this point is more
than a little daft.  It's always best to take what already exists and
add to it and improve it.  (As long as the starting code base is of
sufficient quality, which gEDA is.)

One thing we do need, however, is more transparency into how the code
works.  Personally, I have posted a .pdf drawing of (some of) the data
structures used by libgeda & how they work at my website here:

http://www.brorson.com/gEDA/gEDA_Structures_20050108.pdf

My little utility, gattrib, which is part of gEDA/gaf includes a bunch
of (hopefully) high-level documentation in its source tree.  Finally, 
I have also started (but not finished or distributed) an OOO doc
describing the calling args and returns from many (and someday all) of
the fcns in libgeda.  

My point is this:  If there are others out there who share my view,
I'd be happy to post my libgeda doc and let others investigate the
libgeda, gschem, gnetlist, etc. code and add to the doc.  I think it
would help enlarge the developement community if we had a better set
of docs describing how the code works.  

In the end, I think more transparency into the existing code base
would be much more useful than writing or re-writing anything in the
latest hype-language.

Let me know if you want to share the work of documenting libgeda!

Stuart