1,000 Year Old Software

It was only 80 years ago that the first electronic digital computer was built, the Atanasoff-Berry Computer in 1937. And that was the first. Now, computers outnumber humans and the rate of innovation is increasing exponentially. To expect any technology from today to last more than a few decades is foolish. Technology is moving faster and more unpredictably than ever. On top of all that, we are creating technology that is build to be thrown away. The first-generation iPhone, now only ten years old, is but a curiosity. The rapid pace of innovation means that your hand-held wonder-brick you stood in line for is on a two-year upgrade cycle. At five years old, your computer is ready to be tossed. They keyboard I’m typing this on will likely be in a landfill by the time I end this sentence.

Ok, maybe it’s not that bad. But what hope do we have that in a thousand years any software, any line of code, any work that we’ve done today will still be used in any capacity whatsoever?

On a trip to Italy last summer I was astounded at the wonders of the ancient world. The Colosseum was completed in 79 A.D. The Pantheon? Construction started in 27 B.C., over two thousand years ago. These analog stone structures, sitting out in the rain and snow and hail, through generations and wars and changes of religions, are still there. The Pantheon looks like it’s ready for two millennia more. And these structures are huge. The Pantheon’s dome is wider than that of the Capitol dome in D.C.

Twenty-eight of panels like this form a fifteen-foot-high door. Image found at http://tuscantraveler.com

Artists of the renaissance, painters and sculptors, would often start work that would take decades to finish. They often didn’t know if they would see the completed project. I wonder what the likes of Lorenzo Ghiberti, who took twenty-seven years to complete a set of bronze doors for the Florence Baptistery (Battistero di San Giovanni) would think of the concept of a Minimum Viable Product.

Still, there are legends and war stories about pieces of code or whole programs that last. “Good code never dies” is a stalwart tech industry saying, and there are legions of software engineers toiling away on COBOL and Fortran to prove it. A software program used by the DOD is over fifty years old and still going. For all the innovation in computing, some of the same basic principles have remained. Binary, the zeroes and ones represented a first by mechanical methods and later by electrical means, seems to be a sticky concept. It’s an open question as to whether quantum computers, which represent data in several states at once, will usurp the mathematically simple building blocks of binary. Maybe long after that happens, the oldest code of all will live on in one of the Voyager space probes, blinking into existence thousands of years into the future.

Perhaps contemplating the oldest software is a fool’s errand, and we technologists have never been about putting our works behind glass anyway. Preservation has never been our strong suite. We’ve pushed, and pulled, and drug humanity out of the confines of analog and into a dreamy landscape of infinite possibilities. We look forward. These vast ancient structures have not sat in a vacuum, they’ve slowly crumbled and been looted and deteriorated by the sands of time, they’re original purpose put far behind them, they stand as a reminder of who we once were.

The more remarkable feat our fore-bearers did was spread knowledge and progress. We marvel at their works, as they offer markers to indicate what the highest form of our capabilities were at a single point in time. It’s the cultural knowledge that has carried us into modernity. It’s what we’ve learned from them, and their children, and their children’s children that is their true legacy, not bronze and bricks. And our legacy will be the same. It is what we are building right now, the knowledge we are sharing. Our legacy is the outcome of the code we’re writing this very moment in time that is, nudge by nudge, helping shape the world around us to provide a better future.

Those original iPhones have been thrown away, that’s true. The text messages announcing pregnancies, those emails to loved ones thousands of miles away, the inside joke that was shared by two friends in class – that is the legacy of our technology. Although not everything we build creates lasting worth, I would argue we should strive for that. This is our heritage as software developers, not any individual piece of code we protect as it crumbles. It’s the knowledge we share, the code that is used, reused, and modified beyond recognition. The inheritance our software leaves will not be static, it will be alive, and it will stand on the shoulders of giants that stood before.

Those ancient Roman monuments will exist in another thousand years, and we’ll visit them, but we’ll live in a world created by progress.

↓ I'll get a dopamine hit if you share this post