On Apr 27, 2014, at 7:58 PM, Mike Alexander <m...@umich.edu> wrote: > On Apr 27, 2014, at 5:15 PM, John Ralls <jra...@ceridwen.us> wrote: >> >> However, I don’t think changing files one by one is wise: It will result in >> libraries with objects compiled with different compilers, and I worry that >> that will introduce difficult to understand bugs. That’s not a matter for >> immediate concern, though, as I expect libqof will consume several months >> before I’ll start on another directory. > > I don't think that will be as big a problem as you are afraid it will be. > For 10 years or so I worked on a program about the same size as GnuCash that > we gradually converted from C to C++. Mixing the languages in a library or > between libraries didn't seem to be a problem. We had some new libraries > that were entirely C++, some that were a mixture, and some that never got > touched and stayed in C. > > However, there is one thing I wonder about. When we first started the > conversion one of the first things we had to do was add a new main program > written in C++ that did a minimal amount of initialization and then called > the old main program (renamed appropriately). Many C++ features didn't work > right without that, although the basic stuff worked ok. I think we should do > the same thing in GnuCash as soon as possible to avoid problems.
I agree, though I want to see what happens when I start introducing templated code at the library level. My next experiment will be to replace the guts of GncGUID with boost::guid, which should be pretty simple. Just about everything in GnuCash uses it, so it has a nice potential for spectacular explosions that will tell me if this approach is going to work out. Kind of a "Mythbusters" approach to programming. ;-) I'll make gnucash-bin.cpp after that. Regards, John Ralls _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel