The Spec
The Language
The Practice
The Books

Programming As The Reduction of Human Repetition

I have a theory about what good programming is: the reduction of human repetition. Valuable programs always appear to do this.

When the calculator was invented, it removed a set of steps that humans typically performed over and over by hand. This made it so that fewer steps had to be repeated in order to perform calculations. It did not completely remove all repetition in calculations, but it significantly reduced the amount of repetition required to perform some of them.

Since that time we have seen this work be built upon in order to compute larger calculations in order to remove much greater amounts of repetition. We also discovered over the course of time, that some programs state the same thing in two different ways. It was discovered that the value of the software could be increased by merely removing the internal redundancy in the code itself; a practice that is now called Refactoring. This not only reduced the amount of code that needed to be maintained, but it made it possible to change the code in a single place rather than having to change the same problem over and over in a program. This removed a programmer’s repetition which decreased the amount of involvement, and therefore time required to make a change.

If this theory holds true, in order to be highly effective, we should look carefully for the human repetition and concentrate our efforts on removing it. We should also recognize when we are attempting to repeat ourselves by programming the same thing in two places and make an effort to re-use existing code instead.

Troy Taft is the Principal Consultant and founder of Troy Taft Consulting, a firm specializing in high value software development. He also authors a free monthly newsletter called Software Matters.

Copyright 2007 Troy Taft All rights reserved, you may print this article for your personal use.