February 16, 2005

Refactoring and the Closing of the Frontier

On the 20th of September, 2004, Fortran, the first, and thereby the oldest, high-level programming turned fifty. Most people regard computer programming as a relatively new avocation, but the reality is that this industry can now boast of a heritage of over half a century of code.

I use the term "heritage" advisedly. The more customary term is "legacy". That term, is of course laden with negative connotations. And indeed, in the case of most of this code, most see little worth boasting about. The sheer burden of this accumulating legacy, however, is finally, belatedly, beginning to alter the way we think about software development, both in the academy, and in industry.

Like some of you, I can of age in what might be called the “green fields” era of software development. Systems were built from the ground up. It wasn’t unusual for a single individual to write ever line of code that ran an application, even a system more or less from first principles.

Large systems too were built in relative isolation from first principles by teams both large and small that wielded what might be thought of as homebrew materials and handmade tools.

Green Fields Today, the green fields a gone; the frontier is closed. In Illinois, only a few thousand acres of virgin prairie remain. Today’s developers are confronted by construction sites than have seen extensive prior development. Instead of green fields, they must master broken field running, avoiding, or otherwise coming to terms with existing obstacles. Some sites are so devastated as to be eligible for Superfund status...

Posted by foote at February 16, 2005 06:38 PM