The invention of Common Business Oriented Language (COBOL), a compiled English-like computer programming language, did not mark the end of its evolution. Like the wheel has evolved since its invention around 3,500 BCE, COBOL has evolved from its most basic iterations into the more mobile COBOL of today. Too often invention and innovation are considered synonymous, leaving many to believe that technology is only the latest software and hardware made visible to the market.
COBOL was created 65 years ago, but in the grand scheme this is only a handful of decades, and just as the wheel has been practical for thousands of years (with some modifications), COBOL, too, has a bright future. The International Organization for Standardization’s (ISO) COBOL Standards committee set to work on a standard to ensure that the programming language would be of high quality, safe to use, and reliable. The committee also understood that to meet business needs continuously and effectively, COBOL had to evolve, which is when innovation took the lead.
Governments and companies with large amounts of data and numerous transactions rely on COBOL today. It does business processing very well. Processes like inventory, payroll, insurance, banking, and any processing of dollars and cents are exactly what COBOL is built to do. Any different language or system would not be as efficient or as easy to use as COBOL.
Business Efficiency Is the Goal
Some companies say the Java programming language can be used instead of COBOL because it may run on zIIP processors and can reduce businesses’ software costs. However, a challenge of this is that record processing is not natural in Java; it is not simple to populate a data structure with the data from records in Java. Programmers can even mimic decimal processing with classes that are not built into Java, but it is unnatural and difficult to do so. Unlike Java, COBOL has the idea of data records, data structures, and decimal processing built in. In just a few lines of super-efficient COBOL, all these business needs can be met.
In a conversation with a CEO from a Netherlands-based bank, I found out that his technical people were spending lots of time and energy discussing what hardware and software technology they should be using. The CEO decided to organize a group to study the issues and settle the debate. In the end, after considering all available alternatives of hardware and software, they determined that the best technology for the bank to use were IBM Z and COBOL, effectively ending further debate.
When businesses transition to other programming languages, it carries higher costs over the short term and long term. Moving away from COBOL for business data and transaction processing means harder to read and more difficult to maintain code, as well as slower running code. For instance, new code is not as good as old code that has been improved over the years. Often new code has defects, which is rule No. 1 in software development, and when new code is written it must go through a period of tuning to improve performance.
It is extremely expensive to rewrite existing applications. The process of transitioning away from COBOL-based applications into applications based on another programming language would take years and years. In the end, new defects would be introduced, and the performance would decline. After more years of bug fixing and performance tuning, businesses would have the same applications, only they would run more slowly and have cost millions of dollars to transition. COBOL is not broken and does not need fixing. There is no reasonable business case for rewriting applications from COBOL into some other language.
Additionally, there are no known security vulnerabilities with COBOL on z/OS. Even when a compiler is out of support, the programs it produces are still supported at runtime in production. Updating to a newer compiler and re-compiling thousands of programs can be time-consuming, which is why organizations need this support for programs created by these “unsupported” compilers during the transition, to give them time to recompile. There is no risk here, it is normal software updating.
COBOL has kept up with every technological trend. From JSON, an open standard file and data interchange format, to Kafka, an open-source, distributed streaming platform, COBOL is ready to get to work. The programming language can invoke Java applications, be used to write APIs, and engage data compression or encryption. Today’s COBOL customers can access their COBOL-based applications from web interfaces and smartphones without missing anything.
COBOL Programmers Can Lead Business Into the Future
I learned COBOL in just a few days after joining IBM, and programmers today can do the same. In some cases, students who learned COBOL at college were hired at higher salaries than those programmers who only studied Java.
When an IBM customer mentions the “challenge” of finding mainframe programmers with COBOL knowledge, I recommend that they seek out college students where COBOL is taught. Oftentimes, customers I have spoken to said they had not thought to recruit employees from college campuses. Regardless of what languages they learn, programmers just out of college still need to learn how their new employer operates and how their applications relate to their business operations.
No one comes out of college “ready to get to work” at a new employer; they need training, whether they learned Java or COBOL in college. Training is needed to ensure their basic knowledge is applied in the most effective way for their employer. Employers can include a few days of COBOL training in their programs for new employees who may have not learned COBOL in college. By the same token, employers who do not offer training for employees in applicable languages are doing their business a disservice.
The myth of “missing talent” regarding COBOL easily falls away when employers look to college graduates. IBM, for its part, is working with businesses and colleges to tailor courses to not only the needs of business operations, but also to the employability of students. The future of COBOL is bright when businesses seek out trained mainframers — and future mainframers — and they innovate programming languages for the future of business.