Design Decisions

Derek Atkins warlord at MIT.EDU
Thu Aug 28 13:45:21 CDT 2003


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?

> 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. :(

> --linas

-derek

-- 
       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 mailing list