Deloitte’s John Mennel and Brett McCoy explore the growing push for green IT
By Evelyn Hoover
By Peter Wassel
Image created with Adobe Firefly
Predicting the future can be tricky but valuable clues often exist in the past. As they say: While history doesn’t repeat itself, it frequently rhymes).
COBOL is a workhorse of a language, powering many of the world’s most important transaction processing systems for decades. In the pantheon of enterprise IT languages, it stands out for a variety of reasons, including:
As part of the mainframe technology stack, COBOL rocks. And with innovations like Code4z’s COBOL Language Support extension, developers can now use contemporary tools like Visual Studio Code and compatible cloud development environments (CDEs) which unlock a host of productivity boosters like IntelliSense and streamlined code navigation. Users can even address custom COBOL dialects using pre-processors.
However, COBOL has a few challenges that make a careful assessment of its future all the more important.
SPONSORED CONTENT
While the introduction of the automobile had a profound impact on society, its accessibility early on was limited because, even with assembly lines churning out large volumes of inexpensive cars, driving was not a particularly easy task. Early models, for example, had three floor pedals (left for gear shifting, middle for reverse, right for brake) and two hand levers (one for the throttle and another for the emergency brake). It took considerable physical strength, dexterity and skill to drive safely.
Automatic transmissions opened the world of driving to an entirely new audience. With the required skill level lowered, automobiles became more accessible, convenient and safer to use (drivers could focus on the road rather than shifting). Those previously deterred by the complexity and risk of manual transmissions embraced driving and, lo and behold, the road trip was born!
What does this have to do with COBOL? The introduction of another technology, GenAI, will undoubtedly change its trajectory, just as automatic transmissions changed the automobile’s.
The future of COBOL depends on two very different paths.
One path offers the possibility of AI-enabled migration from COBOL to other languages. The “Code Translate” path helps developers transform COBOL code into more widely used languages like Java. This path could reduce COBOL's footprint, but may in turn introduce other issues such as performance problems or hard-to-maintain Java code. In short, this path requires a careful assessment covering technology risk (e.g., converting structured code to object-oriented) and business risk (e.g., how critical is the application?).
The other path—let’s call it the automatic transmission path, or “Code Explain”—uses AI to make complex COBOL applications easier for developers to understand and, therefore, easier to enhance. Think of Code Explain as a virtual mentor for your developers, like ChatGPT with guru-like COBOL expertise that makes comprehending the business logic much easier and faster.
This path preserves COBOL’s footprint by ensuring the long-term health and vitality of the COBOL applications running the world’s businesses. Our team is diligently vetting the Code Explain use case because a successful outcome will not only assure the future of COBOL as far as the eye can see but, more importantly, it will minimize enterprise risk. The risks associated with the Code Translate option are similar to the risks associated with other refactoring options. The Code Explain option simply helps developers work with COBOL more efficiently and, therefore, addresses the talent shortage, too.
The Code Explain path also has an added value: The underlying LLMs can be used for “Code Assist,” the ability to provide developers with context-aware code snippets as they’re developing, turbocharging the development process for new developers and veterans alike and further invigorating the COBOL codebase. This builds on the existing code completion capabilities already available in Code4z (i.e., Intellisense), and, with common underpinnings, we see Code Explain and Code Assist emerging in parallel.
Another area where the Code Explain path will impact COBOL’s trajectory is code quality. The underlying LLMs can be adjusted to suggest unit tests and test data for the code that would benefit most from coverage. By tying this capability into unit test workflows like Test4z, creating and maintaining unit tests becomes as easy as creating and maintaining source code. Ensuring code coverage adds another building block to a more fully automated and accelerated delivery process.
In many organizations, COBOL codebases are extensive, so it is likely that both paths, Code Translate and Code Explain/Assist, coexist (i.e., teams decide which path to take application by application or even module by module). Broadcom is a strong proponent of running the right workload on the right platform and this extends to languages, too, so we want to ensure both options are fully tested for real-world viability.
Having experienced the full cycle from over-the-top cloud hype to calls for repatriation, we should examine all technology options with our biases parked. It’s easy to imagine the two technologies working in tandem in the not-too-distant future.
According to the June 2024 Tiobe index, COBOL ranks among the top 20 most popular programming languages, and it’s one of the top procedural languages in the financial services industry. While it shows no signs of slowing down, the next couple of years will be telling as code assistance matures.
As a DevOps leader, I'm constantly searching for ways to solve customer challenges creatively, finding developer-friendly solutions like GenAI-enabled COBOL Code Explain/Assist that ensure proprietary COBOL codebases continue to generate business value for many years to come.
By making cars easier to drive, automatic transmissions contributed to the growth of the suburbs and the spread of urbanization. By making COBOL easier to enhance, then, there’s no telling where the road will take us!