It’s only a matter of time until the Common Business Oriented Language (COBOL) will regain its spotlight as one of the most in-demand skills of future generations of software engineers. We can just see it now: Programmers of the future will hop out of their driverless cars, walk into their offices and sit down to start coding in 1959’s COBOL.
It sounds crazy, considering COBOL is the furthest thing from most engineers’ minds today. It's not a well-known language among modern developers, and ranks fairly low in the Tiobe Index, a measurement of today’s most popular programming languages. Many newer, speedier languages give today’s coders little reason not to scoff at the antiquated COBOL.
The most telling evidence of COBOL’s irrelevancy is that about 70% of universities said they don’t even include COBOL in their computer science curriculum anymore, according to a 2013 survey. It’s logical.
Why waste curriculum space for a skill that employers don’t even look for these days? A quick search for “COBOL programmer” on any job site, for instance, yields a few hundred job postings while the more popular “Java programmer” yields thousands.
Based on these facts alone, COBOL appears to be nearly extinct. You might even wonder why we’re writing about COBOL at all?
But looks can be deceiving.
COBOL is a mysterious paradox. Born in another era, COBOL lives on as the quiet but important pillar on which the majority of businesses stand today. In a field that evolves at an unprecedented speed, younger generations may be overlooking a critical skill of the future.
Out of sight, out of mind
Those of you who are familiar with legacy systems know the widely cited stat: *70-80% of all business transactions worldwide are written in COBOL today. A 2017 study found that there are more than 220 billion lines of COBOL in use today—including the code that powers 80% of in-person financial transactions. But what’s not emphasized often enough is there’s a slowly increasing gap between the number of massive institutions relying on COBOL and its relevancy among programmers today.
While newer programmers aren’t as interested in learning COBOL, its role in millions upon millions of mission-critical transactions from healthcare to travel can’t be denied. COBOL is written for mainframes created 10 years before man walked on the moon.
Those same mainframes still operate some of the biggest institutionalized computing today. If someone pulled the plug on COBOL, millions of businesses worldwide would suffer from malfunctioning machines. This old programming language is a bit of a taboo today, but it’s important to recognize just how big of an impact COBOL still has on our day-to-day.
Here’s a quick breakdown of the biggest systems that run on COBOL:
Why haven’t we replaced COBOL?
If COBOL’s been such a foundational root of business apps for decades, why hasn’t something better come along? The short answer: If it ain’t broke, don’t fix it. The long answer requires us to take a step back in time. COBOL was created in 1959, the computing era when programming languages were tailored for specific purposes. For instance:
- Fortran → Scientific problems
- Lisp → Artificial intelligence
- Cobol → Business applications
As banks, insurance companies and government institutions started joining the computer age, they’d create programming languages specific to their machines.
You can imagine how costly and time-consuming this was. There needed to be a universal business language to carry out business operations faster.
Grace Hopper, the mother of COBOL, helped champion the creation of this brand new programming language that aimed to function across all business systems, saving an immense amount of time and money. Hopper was also the first to believe that programming languages should read just like English instead of computer jargon.
Hence why COBOL’s syntax is so wordy. But it helped humanize the computing process for businesses during an era when computing was intensive and prevalent only in research facilities.
And so a new committee, consisting of industry, universities, and US government folks, formed to develop the much-needed language to help standardize business programming. The Department of Defense even decreed that all businesses must run on COBOL in the 1960s. One article by notable software engineer Robert L. Glass explains that COBOL does the 4 essential business tasks better than most modern languages today:
- The capability for heterogenous “record-structure” data
- The capability for decimal arithmetic
- The capability for convenient report generation
- The capability for accessing and manipulating masses of data (typically made up of heterogeneous data structure).
“COBOL is either good or adequate in all 4 (except for database access and GUI construction, they were designed into the language from the outset), whereas the COBOL replacement languages, like Visual Basic and Java are good at few if any of them,” Glass says. And as language designers started to take more of a universal, flexible approach:
“The unique capabilities of COBOL and the business reasons for them were lost in passage of time.”
This was true as of 1997. So, at least until the late nineties, there really hasn’t been a successor that could carry out the massive batch processes as sturdily as COBOL.
But the even bigger reason not to rock the boat is the sheer size and cost of replacing billions of lines of COBOL that exist today. Many of these programs contain sensitive information about people, like social security numbers, banking info, credit card info and healthcare records.
Creators of COBOL invested 2 trillion dollars for the universal language. Businesses worldwide run on over 220 billion lines of code today. It would be a herculean feat to replace every single business program with a brand new language without introducing detrimental bugs. Hence, the cost just hasn’t outweighed the benefits of replacing COBOL.
The case for the COBOL comeback
Although COBOL is currently out of sight and out of mind, businesses have to focus on restitching the antiquated fabric of their infrastructure...eventually. Consider the average age of the COBOL programmer today.
One survey of IT managers from 352 companies finds:
That survey was taken in 2006. In 2014, Micro Focus said that the average age of a COBOL programmer was still about 55 years old.
"Without a doubt, it is a challenge to find a developer in Cobol who is not nearing retirement age," says Dale Vecchio, research vice president of application development at Gartner Inc. “In 2004, the last time Gartner tried to count Cobol programmers, the consultancy estimated that there were about 2 million of them worldwide and that the number was declining at 5% annually.”
COBOL programmers are starting to retire; meanwhile, there’s no interest from young programmers to take on COBOL challenges. So, what will businesses do to keep maintaining their mission-critical programs?
COBOL skills will be in demand to reverse-engineer pivotal mainframes. And as time goes on, the market will need to correct this skill gap by boosting the value of COBOL programming skills, drawing more engineers to learning the language.
Teaching COBOL to a new generation
Some COBOL-heavy organizations, like IBM and Micro Focus, have already developed programs to promote COBOL in younger generations. So far, IBM has developed curricula in association with more than 80 colleges and universities. Companies in Dallas are also doing something about it as well.
Dr.Leon Kappelman, professor of Information Technology at the University of North Texas told the Wall Street Journal:
“Four years ago, local Fortune 500 employers encouraged the university to offer Cobol courses. Now, graduates who take Cobol electives earn starting salaries of $75,000 compared to starting salaries of $62,500 for those who did not.”
Plus, many forums and online discussions about the language illustrate that...it’s really not that bad. It’s important to note that, unlike modern languages, COBOL is not designed to be versatile.
Once you adjust your expectation, COBOL isn’t as ugly. Some programmers enjoy the puzzle aspect of maintaining COBOL-based mainframes, like figuring out the exact line of code to fix an existing script. Others find the stable environment allows them to focus on the business aspects of the program. It’s why the few universities that offer COBOL courses mask it under “Intro to Business Systems Programming.”
Coronavirus and the return of COBOL demand
Sure enough, in 2020, COBOL surged back into the spotlight. With the coronavirus (COVID-19) pandemic hampering businesses across the country, a wave of rapid-fire layoffs and furloughs rocked the economy, shooting the unemployment rate from 3.8% to 13.0%. It spurred nearly 17 million unemployment claims in a 21 day period.
And that's something that state-level unemployment systems—at least a dozen of which are powered by COBOL—weren't prepared to handle. Overloaded, the systems struggled to process the massive spike in unemployment claims. It left states like New Jersey, Connecticut, and Kansas clamoring for COBOL programmers.
"So many of our Departments of Labor across the country are still on the COBOL system," said Governor Laura Kelly of Kansas. "Our Department of Labor had recognized that that was an issue and had initiated modernization, and, unfortunately, that's something that takes time. This [virus] interfered and they had to cease the transition to a much more robust system. So they're operating on really old stuff." It's a sentiment echoed by New Jersey Governor Phil Murphy, who made an open call for volunteer COBOL programmers to support the state's COVID-19 response.
Though attempts to modernize COBOL-based government systems are underway, situations like this make it clear that COBOL is here to stay. Aside from the massive effort required to make the change, experts estimate that these government systems—like the ones that power unemployment filling—take between $300-400 million dollars to modernize. It's just one more reason that most government agencies have continued to put off replacement.
As taboo as COBOL might be in the startup-driven culture of today, its influence and irreplaceability mean it's unlikely we've seen the last of the dinosaur language. As of 2020, there are more COBOL programmers in retirement than there are in IT departments. Its more critical than ever that businesses and governments figure out who will maintain their mainframes as working COBOL programmers continue to dwindle.
Editor's Note: This post was originally published in July 2015, and was updated for freshness by the HackerRank editorial team in June 2020.