COBOL Turns 60
Years after their inception, current versions of COBOL and the mainframe remain strong.
By Reg Harbeck05/01/2019
COBOL and Mainframe for the Global EconomyIt has now been 60 years since COBOL’s inception, and 55 since the mainframe was announced, and the current versions of both are stronger than ever, due to the proven reliability of each. The combined duo naturally bears the mantle of processing the business and data of the global economy.
With the advent of these important anniversaries, it bears emphasizing how this powerful team of language and platform have borne their responsibilities and continue to bear them in ways we can all gratefully take for granted.
COBOL Runs the World EconomyDecimal math: That’s what business processing is all about. And character data—vast amounts of displayable character data. The mainframe architectures get this.
“System/360 at its heart has a whole instruction set around the decimal data type,” IBM Fellow and IBM Z CTO Kevin Stoodley points out. “Decimal is also the basic computation type of the COBOL language. But I think those choices fundamentally come from meeting the needs of the business context and having the ability to seamlessly integrate both hardware and software innovation to satisfy that business need.”
Another aspect of the duo that makes business sense is code that can be readily inherited and maintained. Programmers move on, but programs that work just last and last. As Roland Koo, IBM offering manager for Compilers on IBM Z points out, about 250 billion lines of COBOL code are running the world economy.
Because IBM’s original System/360 promise of future compatibility was so well-kept, even the programs that were written first had to last. Hence COBOL’s extreme readability, with verbs, structural elements, variable names and procedure names that, when read aloud, practically describe what a program is doing in plain English.
Taking Advantage of IBM Z Advances
As “Captain COBOL” Tom Ross, IBM senior software engineer and deep COBOL expert, explains, IBM has added features to the COBOL compiler such as the RULES option, which tells the compiler to reveal all of the “secrets” that it knows about a program that maybe even the original programmer didn’t. RULES can point out code that may not be behaving as intended. It can give advice on how to make code run more efficiently and, per a 2017 client request, now includes the capability to have the compiler tell you which data items (variables) were found in a program but weren’t referenced. This was added via the product's “continuous delivery” stream last year. It can help a developer “clean up” a data structure that was copied or included, which is an important functionality in programs that have been evolved and enhanced over a period of many years by a large team of programmers.
Another important area for COBOL innovation has been taking advantage of the platform advances on IBM Z. As IBM has introduced new architectural features on the mainframe, IBM COBOL has been enhanced to benefit from them, producing spectacular CPU savings. “We put a feature into z14 called the Vector Packed Decimal Facility and then we invented 22 instructions to exploit that facility,” Koo says. “What we found was that if you purely do packed decimal calculations, the application is 94% faster, just because we got rid of all the latency and all the inefficiencies.
“We have a strong roadmap for COBOL. Our intent is to continue to improve performance of COBOL workload with new hardware features, advanced optimization technology and new language support (such as 64-bit and UTF 8) to enable clients to future-proof their business-critical applications," he adds.
COBOL Compiler Improvements
With great improvements in compiler technology over recent years and decades, despite the broad and deep client investment in the status quo, it became important for COBOL to take advantage of these enhancements. In 2007, Stoodley led the charge as IBM “ate our own cooking around modernization” in four dimensions:
- People and skills
- Development processes
- Personal productivity
- Team collaboration tools and the technology assets in the product
So, the COBOL development process and team were updated, taking advantage of the advanced back-end technology, agile methodology and enthusiastic, young new additions to the team. This led to new major releases of the product as well as frequent minor releases and a sustainable model for the next 60 years.
To quote Ross, “We have full capability to process JSON or XML so your back-end applications can be services used by clients on a smartphone very easily, and that's what our clients are doing, so COBOL is adapting to the modern world.”
That’s important for many reasons, including the fact that COBOL isn’t going away. As Stoodley made clear, even if an alternative platform had all the qualities of service that we take for granted in the combination of IBM Z and COBOL, the sheer effort to move to a new platform would be prohibitively massive. This is a serious problem if you want to attract and keep good new technologists.
“It’s very hard to make that economic equation close, just because of the challenging nature of the migration itself, and the fact that when you get to that new system, you’re going to have a maturity curve to climb again in terms of the stability, performance scaling and everything else about the system as well as just the business logic being known to be correct,” Stoodley notes.
More COBOL ResourcesThe following resources will help you dig deeper into COBOL on the mainframe:
IBM Enterprise COBOL for z/OS
EnterpriseCOBOL Version 6.2 Webinar: “Performance and Features Are Brand New”
A blog about the beauty of COBOL
A COBOL case study
Reg Harbeck is a mainframe enthusiast who has worked IT and mainframes for over three decades. He's the chief strategist at Mainframe Analytics ltd.