Design Decisions
Linas Vepstas
linas at linas.org
Thu Aug 28 21:58:17 CDT 2003
On Thu, Aug 28, 2003 at 12:45:21PM -0400, Derek Atkins was heard to remark:
> linas at linas.org (Linas Vepstas) writes:
>
> > Correction: above should say 'second, third and fourth'.
> > The *first* implementation was in C and I wrote it. The person
> > who wrote the *second* implementation, in scheme, didn't understand
> > the issues involved, and yet had a sufficiently inflated ego to not
> > care, and not bother to ask about the issues, and not deal with them,
> > until forced to, under duress.
>
> Interesting -- I do not remember the first (in C) implementation
> of the QIF importer. When was it done, and when was it ripped out?
1998, in version 1.0/1.2, ripped out before version 1.4 showed up.
> > There are many lessons to be learned here. At least one is that
> > re-writing from scratch is often more difficult than assumed, and
> > takes much longer than anticipated. Just look at Mozilla vs.
> > Netscape! It pays to migrate old code, rather than redesigning it.
> > At first, it seems a much more slow way to proceed, a much more
> > painful way. But it only seems slower at the start. Towards the
> > end, the 'old code' is ready to deploy, because its actually
> > bug-free (because it always worked, had never gotten broken along the
> > way), even as the 'new rewrite' remains buggy and unfinished.
>
> This is true.. The (fourth) implementation that I've been working on
> has been much more challenging than I initially anticipated, and it is
> not yet complete (let alone completely tested). I did test that it
> compiles, and that it will read in some (basic) QIF files, but I have
> not finished internal-merging, QIF-to-GNC conversions, or the UI
> integration....
>
> It's been significantly more work than I imagined when I started. :(
You sure you don't want the finish the earlier 'almost works'
implementation?
--linas
--
pub 1024D/01045933 2001-02-01 Linas Vepstas (Labas!) <linas at linas.org>
PGP Key fingerprint = 8305 2521 6000 0B5E 8984 3F54 64A9 9A82 0104 5933
More information about the gnucash-devel
mailing list