Fortunately for us, we already have a language for expressing processes. Unfortunately for most people, that language is mathematics.

Right. Math. Everybody hates math. Hell, *I* hate math. But there’s simply no way around this: mathematics is the language of processing. If you want to understand process, then you must be able to speak math. I can offer you some small consolation: we’re not talking about this kind of math:

Instead, if you can speak high school math — algebra — you’ve got enough to put you way ahead of most software designers. But few people can handle high school algebra as adults. They purge it from their memory like any tragedy.

Even programmers suffer from this weakness. They can all handle boolean logic: fiddling around with AND, OR, EOR, IF, and so forth. That’s about as far as most programmers go with mathematics.

Every process makes some kind of change. If you’re going to think in terms of processes, you have to be able to calculate the nature of the change. That’s where the math comes in.

For example, let’s take the case of the tree processes I mentioned in Why We Don’t Understand Computers. If you want to build an educational program about trees, then you have to put those processes into the computer. Let’s walk through each of the processes I mentioned:

“...minerals dissolved in water in the soil seeping into the roots…”

For this, our goal is to calculate the amount of water seeping to the roots. Let’s dismiss any variability in mineral concentration in the water. We can also assume that the rate at which the water seeps into the root hair is proportional to the concentration of water in the soil. Thus we get:

Rate of water uptake = some constant * concentration of water in the soil

“...slowly moving up the cambian up the trunk, out the branches to the leaves…”

Now, the water reaching the leaves is the same as the water entering the roots. If it weren’t, where would the excess water go to or come from? The only issue here is the time delay for the water to move to the leaves. This can be a long time; up to two years for a tall conifer. Nevertheless, I’m going to skip this part, because over the long run it matters only if the amount of rainfall is significantly variable.

“...where it combines with carbon dioxide in a photosynthetic process driven by sunlight to produce oxygen and adenosine triphosphate (ATP)…”

This is the key process at work, and it depends on four factors:

1. The amount of water available for photosynthesis

2. The amount of minerals brought up with the water

3. The amount of carbon dioxide in the air

4. The amount of sunlight available to the leaf.

Let’s begin by dismissing factor #3 — it’s roughly constant over the life of a tree. We have already dismissed the dissolved minerals, so we can dismiss factor #2. That leaves just water and sunlight. And here we come to an important catch: you need BOTH water and sunlight for photosynthesis. If one of these two is in short supply, that limits the amount of photosynthesis that can take place.

You probably don’t know this, but when two factors are BOTH required for a process, you multiply them together. If either one can compensate for the other, then you add them together. So our formula boils down to just this:

Rate of photosynthesis = some constant * rate of water uptake * amount of sunlight on the leaf

That’s how it’s done. Note that I had to know something about trees to carry out this analysis — after all, you can’t very well teach somebody a topic that you don’t already know.

You’re probably a bit befuddled by the process. It came easily to me; I’ve been doing this kind of thing for 50 years. You’ll just have to learn. Perhaps I can provide more examples; I know that somewhere on this website are some more examples.