I remember a day during junior high school when we spent a few minutes with our guidance counselor to discuss our ambitions for the future.
Student: I wanna fly jets!
Counselor: You gotta know trig.
Student: I wanna be a movie star!
Counselor: You gotta study English literature.
Student: I wanna be a doctor!
Counselor: You gotta know biology and chemistry.
Lou: I want to be a lawyer!
Counselor: You gotta know Latin.
Almost everyone I spoke to about my curriculum for that year had the same reaction. They all asked why I would want to study Latin; it was, after all, a dead language.
COBOL Cobbled?
People are saying the same thing about COBOL. Don’t waste your time learning COBOL. If they put you into a COBOL project, your career will be over.
COBOL is for geezers. It’s a … dead language.
Let’s put a couple of things to rest right now.
First, the status of Latin and COBOL are quite similar. Neither is really dead, both are deeply ingrained, intertwined and embedded in our contemporary world. The former in many of our written and spoken languages, and the latter is the underpinning of much of the world’s existing data systems.
If you ignore Latin, you risk losing the ability to understand the derivation, and hence a full understanding, of many words in many modern languages. If you ignore COBOL, you run the risk of failing to understand how your enterprise actually works. It is impossible to fully understand the processes within your organization without understanding the systems that support them. Grace Hopper didn’t just invent a programming language; she invented the concept of business rules.
Hundreds of Miles of COBOL Code
Gartner has estimated that there are 180 billion lines of COBOL code in use around the world. Imagine that you printed out all of the COBOL code on your laser printer. Let’s say you get 50 lines per page in landscape mode. Copy paper comes in two-inch reams with 500 sheets per ream. That figures out to a 227-mile-tall printout. OK, so you print on both sides of the paper; then it’s 113 miles tall.
Gartner estimated in 2003 that there were 90,000 COBOL programmers in the United States . These guys are all looking for something to do, so let’s have them handle the conversion.
Let’s see, 180 billion lines of code and 90,000 programmers works out to about two million lines per programmer. Surely a decent COBOL programmer can translate 20 lines per hour. At that rate, each programmer will only require about 100,000 hours to complete the conversion. That works out to about 13,300 workdays. If we figure 250 workdays per year, these guys should be done in about 53 years.
An Inconvenient Truth
Oh, I forgot to mention, the use of COBOL is growing … by about a billion lines per year. And, those 90,000 COBOL programmers? They are all out buying fishing boats, Winnebagos and Hawaiian-luau shirts.
There is only one reasonable course of action: COBOL must be embraced, it must be taught and it must become cool again.
Rather than running away from COBOL, we need to look for ways to integrate it more fully into our new development processes.
Our institutions must teach the use of COBOL as a basic requirement in the IT curricula. It doesn’t matter how much Java you know; it doesn’t matter if you can Web-enable your kid’s Etch-a-Sketch in your sleep.
It will all be for nothing if the legacy systems in use in your enterprise aren’t effectively tied into the snazzy new systems you want to deploy. If these two worlds don’t play well together, your enterprise will be imperiled.
I can’t imagine why anyone interested in programming would not jump into this area like a big wet dog jumping on a white couch. Companies will be begging for COBOL-literate people for years to come, and based on current trends, there will be fewer and fewer people with this expertise. That means the price per head will be going up.
An Action Plan
Meanwhile, how do companies free up the people to handle this body of information? Start looking at alternative programming strategies.
Let’s say you have a staff of 50 programmers and none of them wants to work on geezer code.
Going outside is no good because your business is complex, and knowledge of the systems requires knowledge of the business itself. Here’s a plan for redeploying your human assets to maximize their effectiveness.
First, you take 25 percent of your programmers and start them on learning COBOL. This may be done outside your corporation; it may be done with private contractors teaching onsite. Whichever way you go, one out of four of your programmers will be knowledgeable in COBOL in six months.
Next, you take another 25 percent and you get them proficient in one of the newer languages such as MANTIS, Visual Basic or Java. Within a single week, your people will be productive programmers turning out apps 90 percent faster than their COBOL counterparts.
At the conclusion of six months, you make whatever adjustments you need to make as far as getting people into their “happy” zone. Now you have a crew of programmers who are well able to take on all of your systems, support all of your code and create new apps as needed with assurance that they are properly interfaced with your legacy systems.
Your future will be secure and COBOL will be cool again.
Lou Washington is Master of MIPS at Cincom.
Latin really isn’t a good comparison. COBOL is a dynamic language that is growing and evolving even today. Did you know that COBOL is OOP? That it’s OOP is more OO than C++?
Also, as someone who’s coded in COBOL and many of the newer "sexy" languages, the assertion that the newer language developers will be 90% faster in development is a mistake. It’s so much easier and quicker to code in modern COBOL than Java or C/C++.