The COBOL programming language conjures up images of thin ties, white shirts, spinning tape drives, and all the glory and pain of the mainframe era. It only makes sense because the language first appeared in 1959 and was one of the dominant ways of coding in the 1960s.
Today, we often forget it, but not because it has disappeared. Other languages for other roles caught the eye, riding the tech boom as computers proliferated. COBOL did not disappear however; it has simply been eclipsed by the explosive growth of other languages and technologies.
Indeed, people working with COBOL in 2022 say demand is higher than ever. It may never capture as much attention as the languages used to, say, build apps for billions of smartphones, but it has a stable, slowly growing home in the corporate offices where it started. .
Micro Focus, a company that writes a lot of COBOL code, sponsored a Vanson Bourne investigation in February 2022, which estimated that there could be over 775 to 850 billion lines of COBOL code currently running. In 1997, a study by Gartner put the figure at 200 billion. It might not be the same percentage growth as languages like Python or Swift, but it’s enough to interest many programmers.
“It’s an IT backbone for most of the western world.” said Ed Airy, Product Marketing Director for COBOL at Micro Focus International. “Most of the things we frankly take for granted every day, like being able to withdraw money from the bank using an ATM or booking a plane ticket for a holiday or getting an insurance quote , depend on COBOL running quietly in the background.”
The many updates of COBOL
The language used today is very different from that of the programmers encoded in punched cards. Although much of the old structure and style remains (backwards compatibility is key), many new versions are updated to make it easier to work with all the other languages and protocols in use today.
The changes followed the computing mainstream, lagging a bit, but only by a few years. For example, object-oriented COBOL appeared in 2002, and IEEE 754 standards for arithmetic joined the language in 2014.
“It’s still there primarily because everything people created decades ago that can still work today,” said Scottish Nielsen, Director of Product Management for COBOL at Micro Focus. “You don’t have to throw it away and start over. You can build on it.”
This is because many popular platforms don’t do a good job of ensuring the code continues to work for more than a few years. Apple, for example, included a PowerPC emulator known as Rosetta in its operating system when it first upgraded to the x86 architecture in 2006. but he knocked it down with MacOS version 10.7 in 2011.
The COBOL community strives to avoid this kind of problem. Code can now easily run on desktops or even smartphones. There are containerized versions that simplify cloud deployment.
Open source projects such as CobolScriptComment allow you to run COBOL in a browser or Node.js application by converting it. GnuCOBOLName creates native executables with LLVM that can run in many different environments. The lightweight GraalVM virtual machine is a good base for linking COBOL to other languages, including Java and Haskell. Visual Studio has a plugin called Visual COBOL to bridge .NET and other Microsoft technologies.
Programmers focusing on core language
While the community rejoices in keeping pace with modern standards, they sometimes worry that the path isn’t always smooth or fast. Some complain that the COBOL 2002 standard, for example, was never fully implemented because there was not enough perceived demand for new ideas. Others don’t like that COBOL 2014 made some major features optional.
Indeed, the developers say they find the best solution is to focus on the core language and use the best techniques and idioms that were common from the start. New features are nice and often useful, but they should be used with care and with the knowledge that they may take some time to mature.
“People who know COBOL and have worked with it in legacy systems pretty much stick to procedural-style COBOL,” said Jon Stahl, programmer at Sammons Financial Group. “But if you have someone who doesn’t have COBOL experience and has C# experience, when they move to COBOL, they’ll do it in a C# style. It’ll be more like your oriented approach object – style programming.”
The range is not just limited to style. More and more COBOL projects are taking advantage of tools that make it easier to link COBOL code with other languages. It’s quite easy to get started with a COBOL project and link it to Microsoft libraries and languages through Visual Studio. There are also a number of enhancements that bring modern data formats such as JSON to COBOL to simplify integration work.
“It pains me to see companies rewrite old code when they could take advantage of what modern COBOL could do with it,” said Robert England, COBOL Developer and President of England Technical Services. “It’s silly to talk about the age of code. Logic doesn’t deteriorate. Until business rules change, this code is as good as the day it was born.”
A major challenge for the COBOL community is the lack of support and interest from the academic computing community. There are few courses in universities and many programmers learn on their own with textbooks or through independent courses.
The rise of the online education market is changing that. For instance, Coursera lists 35 classes related to COBOL, and Udemy offers 98. Formal integration with the accredited university curriculum is no longer required. These opportunities are more flexible than courses at a physical university.
Some of the COBOL vendors also encourage new talent. A place to get started in COBOL at no cost is microfocus.com/en-us/products/visual-cobol-personal-edition/overview.
“You still need to have a background in Java, .NET, or a modern tech stack, but learning COBOL wouldn’t just set you apart from the field,” said Airey of Micro Focus. “That would probably put you in a position to demand a very competitive salary.”