The moment you write a line of code, it becomes legacy. If the cumulative mass of that legacy is small, then there is correspondingly little inertia; if the cumulative mass is large, then there is considerable resistance to change. Refactoring becomes more and more critical as mass increases, because it drives a software-intensive system to intentional simplicity, thus creating a more frictionless surface.
I've long spoken of the emerging role of software archeology. Jason Smith, at the IBM Watson
laboratories, sent me his business card and his is the first I've encountered that sports the title "software archeologist." Speaking of archeology, Gail Harris, conference chair for OOPSLA 2008
, wrote me to report that my keynote at OOPSLA 2005 inspired her to invite the renowned Egyptologist Mark Lehner
to speak about a very different kind of archeology.
Quote of the day:Archaeology is the search for fact. Not truth. If it's truth you're interested in, Doctor Tyree's Philosophy class is right down the hall. So forget any ideas you've had about lost cities, exotic travel, and digging up the world. We do not follow maps to buried treasure and "X" never, ever, marks the spot. Seventy percent of all archeology is done in the library. Research. Reading.