Programming and writing

Katharine writes:

Good writing requires logical organization; computer programming, even more so. Even though a disorganized program can, in principle, run properly, it’s awfully hard to debug or upgrade—let alone for a new coder to make sense of.

True!

For me, this tends to be one of those people-don’t-understand things.

Back when Temple (Grandin) and I were writing one of our books, we got so far behind (OK, I got so far behind) that she wrote a chapter herself and, as I recall, wanted to write a second chapter. I asked her not to write the second one because trying to rejigger her chapter into the form of all the other chapters took more work than just writing the chapter from scratch, which is what I think I ended up doing.

I’ve had the same issue with my possibly-doomed ‘basal ganglia’ project. It’s gone through a number of iterations, and each time we all try to figure out how to fix it, I get told, more or less, just to cut out the good sections and put them together.

That sounds logical, but it basically can’t be done. The good sections depend on the bad sections (and the bad sections depend on the good sections), and when you take out the bad, the good sections don’t cohere any better than they did before you lost the bad. If anything, they cohere less.

The single best piece of advice I got came from Debbie Stier, who said: “Take out a blank piece of paper and start fresh.”

2 thoughts on “Programming and writing

  1. Like programming, having a good overall structure before you start helps make a writing project maintainable as things change. I’ve been working on my textbook https://leanpub.com/applied_electronics_for_bioengineers for about 2 years now, and just this summer did a massive re-organization of the order of topics, in order to fit a changed schedule for the course. This has necessitated a lot of rewriting (not finished yet), but not as much as I initially feared, as the structure of the book into labs with prerequisite chapters made a lot of the material easily moved—only the real dependencies had to be rewritten.

    Like

  2. “Trying to rejigger her chapter into the form of all the other chapters took more work than just writing the chapter from scratch, which is what I think I ended up doing.” Yes! Another parallel with programming! As I upgrade my software, I’m finding some routines easier to rewrite from scratch than to re-learn and rejigger.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s