[RFC] A differnt options system
warlord at MIT.EDU
Wed Feb 16 20:24:54 EST 2005
Josh Sled <jsled at asynchronous.org> writes:
> As well, there's a partially-mentioned aspect that I personally have a
> problem with, which is that the option "db" is generated scheme code
> which is then eval'ed at startup, rather than simply being the raw
> _data_ that it is.
scheme sort of has this dichotomy that merges the concept of code and
data. It's sorta the nature of the beast. *shrugs*
> I (and Derek) are totally sympathetic to the complexity. But I don't
> see how your proposal works within the existing code to make things
> significantly better.
Reducing complexity is always a good thing, provided you don't lose
(real, usable) functionality in the process.
> FTR, this is _always_ the rub with gnucash development, generally ...
> there's a bunch of things exactly like this. My mental cycle each time
> is "fsck it! nuke it and start over" ... "oh, wait ... there's years of
> work that would need to be re-written, and can't really be salvaged".
I feel the same way about QOF and the hole query/save object system.
I feel the same way about all the gpointers we have everywhere. I'd
much rather use a type-safe object system But you know what? That's a
LOT of work. So I need to either ignore it, or make small adjustments
here and there.
> We need to /evolve/ our way out of this mess. In some places that's
> more true than others ... I think the register should simply be
> re-written, for instance. But the options stuff is a bit too core for
> that treatment, and I don't think it's warranted.
Agreed, it needs to be an evolution. Small steps. Let's get the API
better documented. Let's add the helper functions we need to make it
easier to use. Let's flush out the API that you need to get the
functionality you need.
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
warlord at MIT.EDU PGP key available
More information about the gnucash-devel