My Wish List

Derek Atkins warlord at MIT.EDU
Tue Aug 8 13:38:07 EDT 2006


"Tom Browder" <tom.browder at> writes:

> On 8/8/06, Conrad Canterford <conrad at> wrote:
> ...
>> Unfortunately, that would be an absolutely enormous amount of work (any
>> of them).
> ...
>> Converting to C++ might sound easy, but since you're on the -devel email
>> list I'm assuming you know just how much code there is in this program
>> (or can find out). Have a look. There's a lot of it. Conversion is not
>> going to happen unless the developers are given a really big imperative
>> for why that have to. (sorry).
> Actually, converting to C++ is not that bad...I made a count of
> gnucash code lines and got about 396,000 lines of *.c.  I have a
> 13-year-old project with about 150,000 lines of *.cc that was
> originally *.c that I converted in one swoop about eight years ago.
> Then I gradually converted to new C++ features over time.  You don't
> have to do everything at once (after the initial conversion which I
> would volunteer to do).
> The advantages are many:  an international standard (and support) for
> common structures like containers and strings, templates, classes,
> namespaces, etc.  And speed--many articles rebuff the idea that C++ is
> slow.

I've considered numerous times the value of rewriting GnuCash in C++.
But the places where this would be valuable really are the code
interfaces.  QOF.  Searching.  Storage.  However right now I think we
get 95% of the value of C++ by using glib and gobjects.

Other than the ability to use std::string, what do you see as the
true added value of converting to C++?

>> If I remember correctly, gnucash used to have a qt interface - but that
>> didn't work when I first changed to gnucash 6 or so years ago. It would
> Still, a cross-platform GUI using one developers like might be a
> long-tem project.  In the meantime, a command-line version would
> satisfy much of my needs (I'm not sure if gnucash has that now).

In what way is gtk not cross-platform?  It certainly exists on
Unix/Linux, Mac, and Windows.

I wholeheartedly agree with you that GnuCash should work on Windows,
and I completely support your goal to get that working!  As Christian
has pointed out, the code pretty much compiles on windows right now,
but there are some runtime issues.  I would encourage you to get that
working first, and then I would encourage you to create a windows


       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL:    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available

More information about the gnucash-devel mailing list