They want to abolish the programming language COBOL. The truth is that it’s almost old enough (it was founded in 1959, ie 64 years ago), but its presence in the computer market is as surprising as it is, depending on the company, uncomfortable: there aren’t many professionals left who can program So IBM decided to take a different approach: translation into Java.
You kids may not have heard of the COBOL (Common Business Oriented Language) programming language, but it’s one of the oldest and, surprisingly, one of the most resilient. A 2022 survey found that there are still 800,000 million lines of COBOL code in production environments for businesses of all kinds, and the odd thing is that that number has increased significantly since 2017, when it was estimated at 220,000 million lines.
a difficult language. The problem, of course, is that the years weigh heavily and the language is inefficient for these times. The companies that continue to use it have undertaken migration processes when they were able—it took the Bank of Australia five years and $700 million to invest in one of those processes—but there are some projects that are so gigantic that adjustment has been impossible until now. The US Department of Defense has been trying to do the same thing with its MOCAS management system for years; when it first came into use, it didn’t even use a screen and keyboard but punch cards.
From COBOL to Java As stated in TechCrunch, the IBM company recently announced Code Assistant for IBM Z, a platform that uses a generative AI model that can translate COBOL to turn it into Java code. It is expected to be available in the fourth quarter of 2023 and is considered a promising option when it comes to replacing outdated projects based on this language and adapting them to the new times on the mainframes that usually run these applications.
CodeNet. This is the name of the code generation model that not only understands COBOL and Java but also 80 other different programming languages that allow it to be used in other types of scenarios. According to those responsible for IBM, this system is able to maintain both the performance and security of the original application. The model was trained on 1.5 trillion tokens and has 20 billion parameters. It also accepts context windows of up to 32,000 tokens, allowing the input of long chunks of COBOL code that will later be translated.
A further development of the previous “translator”. Ruchir Puri, senior scientist at IBM Research, explained that while COBOL-to-Java translators already exist, Code Assistant is superior in not sacrificing some of the benefits of COBOL and producing maintainable code, which does not appear to be available in significantly competing products. In fact, it is capable of delivering a mixed result by combining Java with legacy COBOL code snippets that are still exploitable if they prove useful to the localized platform.
But you must check this code. A recent Stanford study found that these types of tools can create vulnerabilities in code, which Puri also acknowledges. Nevertheless, he makes it clear: “It is imperative that the code is analyzed with the most modern vulnerability scanners in order to guarantee the security of the code.”
A market that needs to be exploited. Today, 84% of customers using IBM mainframes run COBOL applications in areas such as finance and government. This line of business is still vital for IBM, but as hinted at in TechCrunch, the company is trying to turn it into a gateway for its most lucrative line of business, that of hybrid computing environments (including cloud), which the company has nurtured for years.