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...

About this Entry

This page contains a single entry by Brian Foote published on February 16, 2005 6:38 PM.

Peckish's Laws of Memetics was the previous entry in this blog.

'Roids in Stockholm? is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.


November 2012

Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

Brian's Links



Brian Marick
Martin Fowler
Ralph Johnson (That's Completely Bogus!)
Dave Thomas (The Pragmatist)
Glenn Vanderberg
Patrick Logan
Lambda the Ultimate
Joshua Allen (Better Living Through Software)
Mariann Unterluggauer (Motz)
James O. Coplien
Eugene Wallingford
Blaine Buxton
Nickieben Bourbaki
Travis Griggs
Ivan Moore
Mike Mikinkovich
Superboy & Ward
Rebecca Wirfs-Brock
Nat Pryce
Tim Ottinger
Forrest Chang
Gregor Hohpe
Sam Gentile
Robert Hanson
Chad Fowler
Jonathan Edwards
James Robertson
Bruce Eckel
Andrew Stopford
Tully Monster
Grady Booch
Dave's Ramblings
Solveig Haugland
Dave Hoover
But Uncle Bob
Doug Schaefer
Ted Leung
The Farm
Ian Clysdale (Random)
Gilad Bracha
Keith Devens
Urbana-Champaign Techophiles
Stefan Lauterer (Tinytalk)
Planet Python
Chris Koenig
Peter Lindberg (Tesugen)
Jason Yip
Sean McGrath
Jeff Erickson (Ernie's 3D Pancakes)
Steve Freeman (Mock Turtle Soup)
hakank (komplexitetemergens)
Deciduous Ponderings
Take One Onion
Ken Schreiner
Michael Mahemoff (Software as She's Developed)
Champaign Media Watch
Jason E. Sweat's Weblog (PHP, etc.)
Raymond Lewallen (Code Better)
Keith Ray
Raymond Chen (The Old New Thing)
Neil Gafter
Joe Walnes
Ivan Moore
LD/dazza (Lost in La Manche)
Scott Rosenberg (Wordyard)
Dave Stagner (Sit down and shut up!)
Walter Korman (Lemurware)
Munawar Hafiz (The space between)
Rafael de F. Ferreira (Rafael Rambling)
Mike Hostetler (Where Are The Wise Men)
Jordan Magazine
Andriy Solovey (Software Creation)
Mike Griffiths (Ideas and essays on code development)
Ashish Shiraj (Ashish Kumar -- Software Test Engineer)
Nathaniel T. Schutta (Just a thought...)
Lynn Cherny (Ghostweather R&D Blog)
Dominique Boucher (The Scheme Way)

Powered by Movable Type 5.14-en