When you think of government software, two extremes might come to mind. There are the programs that control rocket-guidance systems, those that keep constellations of satellites safely circling the planet, and the software that underpins DARPA’s crown jewel, the internet—all significant accomplishments. But there are also the legacy systems embedded in old mainframes still operating in federal and state agencies.
One of those programs emerged as a major news story last week as the federal and state governments began to gear up to process the millions of applications for unemployment benefits. That computer language, COBOL (common business-oriented language), is more than a half century old and was originally written for mainframes in the 1960s. Not a surprise then that delays were inevitable for those still using a program that originally proved its compatibility on a Remington-Rand Univac.
Reporting on a survey by The Verge, Makena Kelly revealed “at least 12 states still use COBOL in some capacity in their unemployment systems. Alaska, Connecticut, California, Iowa, Kansas, and Rhode Island all run on the aging language. [Colorado’s] unemployment system is built on [the] aging software running on [the] decades-old coding language.” A spokesperson from the Colorado Department of Labor and Employment said, “the state was actually only a month or two away from migrating into a new environment and away from COBOL” before the COVID-19 pandemic arrived.
At an April 4, 2020, press conference, New Jersey Governor Phil Murphy put out a call for COBOL programmers to handle the crush of applicants for unemployment insurance. “[We] have systems that are 40 years-plus old, and there’ll be lots of post-mortems,” he said. “And one of them on our list will be how did we get here where we literally needed COBOL programmers?”
HOW WE GOT HERE
COBOL began life as a possible solution for the lack of portability of business software running on mainframes. Along with its pioneering DNA, the project did touch some historic bases along the way to approval. In 1959, a consortium of individuals from industry and government called CODASYL (the Committee on Data Systems Languages) formed to develop a common programming language, to standardize database interfaces, and to address a number of other minor projects.
One of the participants was Grace Hopper, the pioneer of computer programming who championed the concept of machine-independent programming languages. The resulting portable programming language from the group was called COBOL. Originally planned to be a temporary solution, the Department of Defense required computer manufacturers to provide it with their hardware, and in 1968 the programming language was standardized.
Since then, COBOL’s use expanded in government and banking, but not without some resistance. Wikipedia points out, “COBOL has been criticized throughout its life for its verbosity, design process, and poor support for structured programming. These weaknesses result in monolithic and, though intended to be English-like, not easily comprehensible and verbose programs.”
Perhaps the most corrosive complaint was memorialized in The Jargon File (previously known as The Hacker’s Dictionary). There, COBOL was described as, “A weak, verbose, and flabby language used by code grinders to do boring mindless things on dinosaur mainframes.… [Its] very name is seldom uttered without ritual expressions of disgust or horror.”
A little strong when you measure history’s own judgment about the persistence of the programming language. COBOL has proved to be flexible, having been revised in 1965, 1968, 1974, and 1985. In 2002 more changes were made to improve the program, and an object-oriented COBOL was introduced.
Other favorable testimony can be found in the records of its adoption. In 1997, the analysts from the Gartner Group claimed that 80% of the world’s business ran on the language, with “more than 200 billion lines of code and five billion lines more being written annually” (cited in “Does COBOL Have a Future,” archived at bit.ly/34UN9Gu).
More recently, testimony before the House of Representatives in 2016 claimed that COBOL is still in use by many federal agencies, and in 2017 Reuters reported in an article titled “COBOL Blues” that 43% of banking systems still used COBOL with more than 200 million lines of COBOL code in use. Today, the public has been reminded of the COBOL legacy as the crushing load of an historic rush of applications for unemployment assistance is hobbling systems around the country.
Y2K AND COVID-19
This isn’t the first time a general call has been sent out for assistance from the retired COBOL programmers during a crisis. In 1999, Kelly recounts, “Hordes of COBOL coders returned to the workforce during Y2K to ensure that the country’s dated systems wouldn’t rupture as their internal clocks switched over to the new millennium.”
Today, those joining Governor Murphy in his call for COBOL programmers include IBM, Google, and Verizon who have all offered their help. In New York, Google and Verizon have launched a new unemployment website that has 60 additional servers and 1,000 new phone staffers.
In a press release, IBM detailed its own threefold plan for helping with the shortage of COBOL programmers and expert help.
- Calling all COBOL Programmers Forum.This is a talent portal to connect employers with available and experienced COBOL programmers. It’s open to those looking for employment, retired skilled veterans, students who have completed COBOL courses, and professionals wanting to volunteer.
- COBOL Technical Forum.This is a temporary resource that will be monitored by experienced COBOL programmers offering free advice and technical expertise during the crisis.
- Open Source COBOL Training.A new open source course designed to teach COBOL to beginners or to refresh experienced professionals. The curriculum will be made into a self-service video course with hands-on labs and tutorials available from Coursera and other learning platforms. The course will be available on IBM’s own platform free of charge.
The press notice ends with a reminder about IBM’s Talent Match, “a service available to directly connect employers with demonstrated mainframe talent. Employers simply register with Talent Match service to find ideal candidates by skills, verified IBM digital credentials, or location.” Information is available at www.ibm.com/community/z/talent.
With the current critical reemergence, the COBOL story continues to expand into something more like a saga, with a 60-year span reaching back to the formative years of computing. Apparently, not all elements of the digital revolution cycle in and out as rapidly as our hardware and software do today.