Monday, August 10, 2009

COBOL and the surprising longevity of enterprise software

In my industry, we might substitute MUMPS for COBOL …

Coding Horror: COBOL: Everywhere and Nowhere

… I'd like to talk to you about ducts. Wait a minute. Strike that. I meant COBOL. The Common Business Oriented Language is celebrating its fiftieth anniversary as the language that is everywhere and nowhere at once:

As a result, today COBOL is everywhere, yet is largely unheard of among the millions of people who interact with it on a daily basis. Its reach is so pervasive that it is almost unthinkable that the average person could go a day without it. Whether using an ATM, stopping at traffic lights or purchasing a product online, the vast majority of us will use COBOL in one form or another as part of our daily existence.

The statistics that surround COBOL attest to its huge influence upon the business world. There are over 220 billion lines of COBOL in existence, a figure which equates to around 80% of the world's actively used code. There are estimated to be over a million COBOL programmers in the world today…

I’m skeptical about those numbers, but even if we cut them in half that’s still a lot of code. The linked essay skirts the subject, but I suspect very little of this code is related to new projects – the vast majority must be from projects launched in the 1970s.

It’s not just COBOL. A friend of mine is nearing retirement still maintaining and extending an RPG app he started in the 1970s. His software runs a very successful privately held company.

The longevity of enterprise software, to me, is the interesting nub of this story. Successful enterprise software has a very long lifespan – on the scale of the lifespan of a publicly traded company. This software can outlast careers, much less employment at a single company. I wouldn’t be surprised, given virtualization technology, if today’s enterprise solutions end up with sixty year lifespans.

There are interesting implications for the way we organize businesses and business processes…

No comments: