C++ work
Mike Alexander
mta at umich.edu
Tue Sep 9 16:54:26 EDT 2014
--On September 9, 2014 at 3:12:33 PM -0400 Aaron Laws
<dartme18 at gmail.com> wrote:
> Currently, c++ work is starting at the deepest point (the part of the
> code that is relied on by everything), qof, so that a C api has to be
> maintained until everything that relies on QOF has a way of accessing
> the c++ interfaces. This means that c++ and C interfaces need to be
> created and maintained in parallel until everything's ready to
> switch. This has grated on me for quite a while, but I see it as a
> very difficult problem. I don't see a quick way to fix it.
I don't agree that this is such a big problem. Keeping existing C
interfaces to code rewritten in C++ isn't that big a deal. Sure, it
adds a little bit of work, but not much compared to the work of
converting the code to a proper class hierarchy in C++. I went through
all this in another project of similar size to GnuCash so I have some
experience with the problems involved. The approach we took there was
mostly to rewrite things in C++ if they were going to be rewritten or
extensively modified anyway. Sometimes things were rewritten because
the benefits of using C++ seemed great enough to be worth the effort,
but we certainly didn't try to avoid C dependencies on C++ code. When
I left the company it was about half converted. That was 8 years ago,
and I suspect there are still parts that are in C because it isn't
worth the cost to rewrite them.
Mike
More information about the gnucash-devel
mailing list