Programming languages don’t often make national headlines. But New Jersey governor Phil Murphy’s plea earlier this month for developers familiar with the 60-year-old programming language Cobol to help the state process unemployment claims garnered a lot of attention.
Many states have struggled with the unprecedented surge in claims for jobless benefits, which reached 10 times the previous record. But aging computing infrastructure hasn’t helped. Cobol (short for “common business-oriented language”) is old, having been introduced in 1959, before the internet and personal computers were invented. It was a short hop to conclude that New Jersey’s troubles stemmed at least in part from relying on such an ancient language.
But experts say that Cobol probably isn’t to blame for the problems in New Jersey and other states. Cobol is typically used for back-office tasks like processing forms and payments, not for public-facing websites. Errors shown in screenshots of the New Jersey unemployment insurance website were related to Java, a robust programming platform used by the likes of Amazon and Google. In other words, people might be hitting a wall before their claim ever touches a system running Cobol.
The programming language isn’t a problem in and of itself. Many businesses and governments still use Cobol. If you’ve booked a flight, paid for something with a credit card, or received a direct deposit, chances are you’ve interacted with a system powered by Cobol. These applications are often decades old, but according to Gartner analyst Thomas Klinect, they’re fast, reliable, and secure. It would make little sense to spend time and money rewriting crucial business and government software systems into newer languages.
“Cobol isn’t cool, but businesses don’t care about what’s cool,” Klinect says. “They care about what works.”
Clearly, many state unemployment sites are not working, or are not working well. But that may have more to do with aging hardware than an aging programming language. Murphy said some of New Jersey’s computer systems were more than 40 years old. Cobol is best known for running on older mainframes, but it also can run on newer hardware or on more modern mainframes sold by companies like IBM.
The New Jersey Office of Information Technology didn’t answer specific questions about what technologies it uses, but the unemployment insurance service isn’t based on a single technology system, the state’s director of technology Julie Garland Veffer said in a statement. “Different components operate together, such as web servers, application servers, mainframes, and special databases,” said Veffer. “Some of these systems, unlike modern applications or cloud-hosted computing, cannot quickly or readily scale upward.”
Barry Baker, VP of software of IBM’s Z line of mainframes, says that although he can’t name specific customers, the company has been working with states to help them handle an influx of unemployment claims during the pandemic. “A good number of states said they were fine,” he adds. “Some were saying they were going to see a surge in applications and workload, and we just help them grow their systems to process more volume.”
Updating Systems Quickly
If Cobol isn’t the likely choke point for the state’s unemployment system, why did Governor Murphy say the state needs Cobol developers? Klinect at Gartner says it could be the need to update the system for the emergency relief bill passed by Congress, known as the CARES act—which makes more workers eligible for benefits, increases the payouts, and extends the period workers can receive them. State IT departments typically might have months or years to rewrite software to support such changes. “Suddenly they need to cram a year’s worth of work into the next two hours,” he explains.