Building a Sustainable Future: The Rising Importance of IT Sustainability

Deloitte’s John Mennel and Brett McCoy explore the growing push for green IT

By Evelyn Hoover

COBOL and Automatic Transmissions: How GenAI Will Shape COBOL’s Future

Broadcom’s Peter Wassel explains two paths forward for the future of COBOL with GenAI 

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:​

Syntax and constructs that handle massive volumes of data, including batch processing, extremely well
English-like readability that makes it easier to understand than other, more cryptic languages
Support for fixed-point arithmetic and capabilities for precise financial calculations
Enterprise-class reliability and performance

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.

Staffing Refresh
Hybrid Integration
Ease of Maintenance

Staffing Refresh

DevOps graphic

The availability of experienced talent is often cited as a significant challenge. However, most developers today are proficient with up to five languages and are familiar with several more, and COBOL is not difficult to learn. With training, boot camps, internships and mentorships, pair programming, etc., this challenge can be resolved. 

The Open Mainframe Project, for example, offers a COBOL programming course as an open-source initiative. Collaborative training programs like this combined with mentorships and pairing new talent with senior programmers, ideally facilitated with in-the-cloud CDE tools, offer a straightforward way to address the talent challenge. The ability to use modern IDEs and Git with Code4z addresses the legacy perception of being limited to “green screen” development.

Staffing Refresh
Hybrid Integration
Ease of Maintenance

Hybrid Integration

DevOps graphic

The urgent need for integrations between COBOL-based z/OS applications, typically transaction processors, with cloud/mobile experience apps creates another challenge. Changing the source code to create APIs exacerbates the staffing challenge and presents an opportunity cost—what other capabilities could those programmers be working on beyond integration? However, with the introduction of tools like the HostBridge JavaScript Engine (HB.js), integrations can be easily built without changing the COBOL source code. APIs are written in JavaScript from existing transactions and orchestrated within the CICS environment. Doing so frees COBOL experts to focus on other urgent priorities without compromising performance or added processing costs, while enabling JavaScript developers to contribute to the vitality of COBOL applications.

Staffing Refresh
Hybrid Integration
Ease of Maintenance

Ease of Maintenance

DevOps graphic

The most challenging issue for COBOL is the sheer scale of many of its business applications—it’s a victim of its own success. In many organizations, COBOL applications are expansive, complex applications composed of millions of lines of code, which, combined with the language’s verbosity, make understanding the code extremely difficult, especially for those new to it.

The irony is that its English-like design is an advantage on a small-to-moderate scale but becomes a maintainability weakness at a large scale. Like many tech decisions, there’s a trade-off between COBOL’s stellar performance and the maintainability of these complex, mission-critical applications.

This challenge is compounded by the retirement of veterans whose understanding of proprietary code is difficult to replace. Documentation is often incomplete, outdated, or, in some cases, nonexistent. Why can’t the new generation learn it just like their predecessors did? The incumbents built their expertise over time in an era before shift-left DevOps automation and, in some cases, they wrote the original code. Today, speed is paramount and building expertise is time consuming.

So, is there a solution to this complexity challenge?

  1. Identify
  2. Protect
  3. Detect
  4. Respond
  5. Recover

SPONSORED CONTENT

GenAI for Mainframe

Amplify the value of your mainframe investments

Automatic Transmissions: A Clue from the Past 

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.

Two GenAI Paths Ahead

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.

Investing in COBOL’s 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!

Peter Wassel 
Broadcom
Peter Wassel is the director of product management, DevOps for Broadcom’s Mainframe Software Division. In this role, Peter partners with clients to realize the value of their investment in the mainframe by leveraging modern development practices and open tooling to further innovation.
Share this article
Share this article