The article title is clickbaity, but the actual point is the proposal of using LLMs to translate large amounts of legacy COBOL systems to more modern languages like Java. Doesn't seem terribly useful to me. I expect you could get a 90% solution faster, but the whole challenge with these projects is how to get that last bit of correctness, and how to be confident enough in the correctness of it to actually use it in P…
I'm pretty sure there's already a system to transpile COBOL to Java without resorting to LLMs.
Watsonx: IBM's code assistant for turning COBOL into Java
91–100 of 186 posts
Re: Watsonx: IBM's code assistant for turning COBOL into Java
#92Not sure what's worse, depending on LLMs, or IBM to fix your COBOL project.
Re: Watsonx: IBM's code assistant for turning COBOL into Java
#93Earlier quoted context omitted.
I'm pretty sure there's already a system to transpile COBOL to Java without resorting to LLMs.
Heirloom computing where I am cto does this using transpilers with 100% automated transpilation. Using LLMs for an entirely deterministic domain borders on the insane. This is just marketing bs but we get asked about it and what our plan is to counter it all the time. Explaining that using Gen-ai and LLMs for what is a well understood compiler/transpiler problem that is already solved just seems to be too difficult f…
But I agree, it doesn't make sense to risk bugs just for that.
Re: Watsonx: IBM's code assistant for turning COBOL into Java
#94Earlier quoted context omitted.
How hard is it to actually learn COBOL? It seems like a fairly simple language to pick up, but maybe the idiomatic COBOL used in these legacy systems is particularly nasty for some reason.
Learning COBOL is the easy part. My understanding is the hard part is becoming familiar with insanely expensive, proprietary mainframe platform that’s you’ll find in most COBOL work. I know IBM has some sort of self training material, but I’m not sure if it’s enough to go from zero to qualified. Most work I see in the area seems to want established domain experts, not hackers who learn just enough to be dangerous.
In a way, the ease IS the problem: the runtime environment for COBOL (and other stuff on the mainframe) assumes that the underlying platform and OS deal with the really hard stuff like HA and concurrent data access and resource cost management. Which, on the mainframe, they do.
Now, contrast that with doing the same thing in, say, a Linux container on AWS. From the stock OS, can you request a write that guarantees lockstep execution across multiple cores and cross-checks the result? No. Can you request multisite replication of the action and verified synchronous on-processor execution (not just disk replication) at both sites such that your active-active multisite instance is always in sync? No. Can you assume that anything written will also stream to tape / cold storage for an indelible audit record? No. Can you request additional resources from the hypervisor that cost more money from the application layer and signal the operator for expense approval? No. (Did I intentionally choose features that DHT technology could replace one day? Yes, I did, and thanks for noticing.)
On the mainframe, these aren’t just OS built-ins. They’re hardware built-ins. Competent operators know how to both set them up and maintain them such that application developers and users never even have to ask for them (ideally). Good shops even have all the runtime instrumentation out there too—no need for things like New Relic or ServiceNow. Does it cost omg so much money? Absolutely. Omg you could hire an army for what it costs. But it’s there and has already been working for decades.
God knows it’s not a panacea—if I never open another session of the 3270 emulator, it’ll be too soon. And a little piece of me died inside every time I got dropped to the CICS command line. And don’t even get me started on the EBCDIC codepage.
Folks are like, “But wait, I can do all of that in a POSIX environment with these modern tools. And UTF-8 too dude. Stop crying.” Yup, you sure can. I’ve done it too. But when we’re talking about AI lifting and shifting code from the mainframe to a POSIX environment, the 10% it can’t do for you is… all of that. It can’t make fundamental architectural decisions for you. Because AI doesn’t (yet) have a way to say, “This is good and that is bad.” It has no qualitative reasoning, nor anticipatory scenario analysis, nor decision making framework based on an existing environment. It’s still a ways away from even being able to say, “If I choose this architecture, it’ll blow the project budget.” And that’s a relatively easy, computable guardrail.
If you want to see a great example of someone who built a whole-body architectural replacement for a big piece of the mainframe, check out Fiserv’s Finxact platform. In this case, they replaced the functionality (but not the language) of the MUMPS runtime environment rather than COBOL, but the theory is the same. It took them 3 companies to get it right. More than $100mm in investment. But now it has all the fire-and-forget features that banks expect on the mainframe. Throw it a transaction entry, and It Just Works(tm).
And Finxact screams on AWS which is the real miracle because, if you’ve only ever worked on general-purpose commodity hardware like x86-based Linux machines, you have no clue how much faster purpose-built transaction processors can be.
You know that GPGPU thing you kids have been doing lately? Imagine you’d been working on that since the 1960s and the competing technology had access to all the advances you had but had zero obligation to service workloads other than the ones it was meant for. That’s the mainframe. You’re trying to compete with multiple generations of very carefully tuned muscle memory PLUS every other tech advancement that wasn’t mainframe-specific PLUS it can present modern OSes as a slice of itself to make the whole thing more approachable (like zLinux) PLUS just in case you get close to beating it, it has the financial resources of half the banks, brokerages, transportation companies, militaries, and governments in the world to finance it. Oh, and there’s a nearly-two century old company with a moral compass about 1% more wholesome than the Devil whose entire existence rests on keeping a mortal lock on this segment of systems and has received either first- or second-most patents every year of any company in the world for decades.
It’s possible to beat but harder than people make it out to be. It makes so many of the really hard architectural problems “easy” (for certain definitions of the word easy that do not disallow for “and after I spin up a new instance of my app, I want to drink poison on the front lawn of IBM HQ while blasting ‘This Will End in Tears’ because the operator console is telling me to buy more MIPs but my CIO is asking when we can migrate this 40-year old pile of COBOL and HLASM to the cloud”).
Mainframes aren’t that hard. Nearly everyone who reads HN would be more than smart enough to master the environment, including the ancient languages and all the whackado OS norms like simulating punchcard outputs. But they’re also smart enough to not want to. THAT is the problem that makes elimination of the mainframe intractable. The world needs this level of built-in capability, but you have to be a bit nuts to want to touch the problem.
I have been to this hill. I can tell you I am not signing up to die on it, no matter how valuable it would be if we took the hill.
Re: Watsonx: IBM's code assistant for turning COBOL into Java
#95Having had to support and migrate COBOL in a big financial the problems weren’t really related to the COBOL, but instead were: 1. The mainframe costs and support. These can be mitigated with migration to a platform like Microfocus to emulate it, but be careful you don’t replace your ultra reliable mainframe with some flakey Windows servers. 2. The embedded business logic. Within the 50-60 years of code there’s a ton…
Honestly, this should be the top comment in the thread.
The issue isn't COBOL being a hard language to learn or to translate to Java or not enough programmers or companies not being willing to pay people enough to work with it.
The issue is the 50 years worth of business logic, added incrementally, over the years, with no documentation, blended into the original source, for reasons no one still working there remembers, as you stated. It's IF-ELSE statements all the way down and no one wants to touch a single one of them for fear of breaking something whose conditions might not even manifest themselves for months or years with no real way of even regression testing it.
Re: Watsonx: IBM's code assistant for turning COBOL into Java
#96I work for a company that develops and maintains code that "no one knows anymore" which helps run the US banking system. This article is ill informed fear mongering and the proposed "solution" is a joke.
Care to elaborate on this a bit? Some details would've been useful rather than just a "no u" comment.
COBOL is used still for far more reasons than technical debt, there is good reason for the language and I doubt Java is even capable of replacing it. Even if an AI could write a 100% perfect Java version of COBOL, Java would fall flat on its face. COBOL and other languages like it are very performant languages, optimized over more than a half century.
Re: Watsonx: IBM's code assistant for turning COBOL into Java
#97There seems to be plenty of cobol transpilers - anybody know why they can’t use those. Immediate thought was it’s just beating on the dead Watson horse.
If they worked as effectively as they were touted, they'd have cleared out the cobol.
So transpilers do work and are in production but our biggest competitor is inertia.
Re: Watsonx: IBM's code assistant for turning COBOL into Java
#98Earlier quoted context omitted.
No really, in fact I'd say the opposite. The issue with COBOL is any old idiot can't write it. If someone is touching the COBOL they are going in and making minor changes/expansions to an application that is older than the average HN user and those changes and expectations are well defined. With Java and/or language of the day your cheapest run of the mill contractor given exceptionally poor instructions will crank o…
I have no idea how that's the opposite of what I said. Transpilers haven't worked not because of how much or little the replacements are paid, or how well they do their job, but because there's more to moving from one computational ecosystem to another than just the language.
Re: Watsonx: IBM's code assistant for turning COBOL into Java
#99Earlier quoted context omitted.
I don't think it'd take two years to learn cobol, it should be less than that. But it will take much more than that to learn the gnarly codebase in use in those shops... And that is a skill that is certainly not transferable.
I don't think it'd take two years to learn cobol, it should be less than that. There's a comment in this thread from a former consultant that completed a 4 week COBOL bootcamp before being sent to a client to write code!
Why is this input file loaded and rechecked 3 times? Because 30 years ago a file load failed, breaking end of quarter reports. This was the fix: if we can read that file three times and it doesn’t change then we know it’s good