Time to Cut COBOL from Life Support
James McGovern, a renowned and highly outspoken enterprise architect, says it all in a recent blog post headline: “The Mainframe is Not Evil, But COBOL Is.”
So what’s the beef against COBOL? Any language that’s been around for more than four decades has to have some redeeming qualities, right? Esperanto’s been around for just a bit longer, and there’s a language that promises world peace.
COBOL never offered world peace, but it did offer one of the first portable, standard languages that could be run across different vendors’ systems. Sort of a pre-Java Java, if you will.
James says, however, that there’s no reason why aging COBOL apps can’t be replaced with Java. In fact, there’s no logical reason why IT shops are keeping COBOL going, he observes:
“Large enterprises love their mainframes but wrongly assume that they still need to keep COBOL on life support. Haven’t they realized that they can continue maintaining their enterprise applications by extending their functionality by leveraging Java? Java has a special co-processor that makes it run lightning fast on the mainframe and enterprises who aren’t using this technology are just dumb…”
If anything, COBOL is limiting the potential of mainframe, James says. For example, the commands are archaic: “Everything is a MOVE: Over 90% of a typical COBOL program will consist of MOVE, IF and GOTO. Not a very rich way of describing functionality. While COBOL is English-like, it didn’t incorporate the richness of the English language.”
Plus, James adds, the data layer supported by COBOL is too tightly coupled. “The program division contains direct reference to the physical name and size of database fields. This information is repeated in many programs, making changes very time consuming. In the Java world, if you wanted to expand the first name field from ten characters to twelve, this isn’t any work but very tedious in COBOL.”
It was estimated about 10 years ago that 80% of the world’s business ran on COBOL with over 200 billion lines of code in existence and with an estimated five billion lines of new code annually. There’s no reason to think that this number was shrunk, so its going to be some time before we finally put COBOL out of its misery.
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
You wrote:
>Esperanto’s been around for just a bit longer, and there’s a language that promises world peace.
Just curious, but where in Esperanto’s 7-point Prague Manifesto:
http://lingvo.org
do you see any mention of world peace? The aim of ‘universal bilingualism’ [YOUR language + Esperanto for everyone] is to bring individuals together across barriers of language and culture, from a level linguistic playing-field, not based on an inherent linguistic privilege for some, as now. If that should bring world peace any nearer, so be it!
“English is like Java, Esperanto is like Python, Lojban is like Lisp.”
COBOL is like Latin?
who told java is good.. each language has it’s own advantage and disadvantage.. mainframes are robust java can’t come next to it.
[...] McKendrick in his Eye on the Enterprise blog had a post on legacy modernization – Time to Cut COBOL from Life Support in which he referenced a post by James McGovern The mainframe is not evil, but COBOL is… in [...]
Joe
An interesting post, as is James’, and prompted me to respond with Why don’t you replace COBOL with something useful (not Java)
Enjoy!
JT
James Taylor
Author, with Neil Raden, of Smart (Enough) Systems