How we build Goldenseal

We are back to writing code for Goldenseal Pro.  The first job was deleting all of the QT code, which took a couple days.  Now we are poking at a few basic classes that ought to be either removed or rewritten, and figuring what to do with them.

The next month or two will be boring stuff.  It’s rather basic coding without any dramatic milestones to report.  So what I’ll talk about instead is how we build Goldenseal in the first place.

To start with, the project is just a bunch of text files: about 1000 of them. Usually they are in pairs, with a header file and source file that describe one class.  For example, CEstimate handles all the math and data storage for an estimate record, while CEstimateViewer handles everything that happens on the screen.

We view the files in Xcode, which color-codes the text so it is easier to understand.  It also builds the actual program, by reading all the C++ code and compiling it into an app.  If there are problems, it reports the error, and sometimes suggests how to fix it.

Up until now, we have been removing obsolete libraries.  That breaks all our code that relies on them, which sometimes means going through thousands of errors and fixing them one by one.  Or, sometimes a whole file is obsolete and we can just toss it.

We probably still have a few more days of that, but we will also be rewriting old code now, and adding some new stuff.    We’re writing for Mac at first, but will do the Windows code in parallel, starting in January or so.  The Mac code will actually be much harder to write, since we have to mesh our C++ code with Apple’s Swift and/or Objective-C languages.  There are enough differences between them that they don’t work together very well.

Dennis Kolva
Programming Director
Turtle Creek Software

Author: Dennis Kolva

Programming Director for Turtle Creek Software. Design & planning of accounting and estimating software.