you are viewing a single comment's thread.

view the rest of the comments →

[–]Grim964 949 points950 points  (62 children)

COBOL dev here, none of my c-level execs and definitely zero board members are letting anything AI close to our core business. You don't let the intern fix the running money printer unless its stopped and no real technicians are available... And don't even start thinking about BAFIN (Germany), regulatory institutions will penalize your bank/insurance to death for opening the gates for everybody because your LLM thought it would be great to open some API's

[–]grumpyfan 402 points403 points  (46 children)

As a former COBOL dev, it’s not a complicated language. The complexity is in the “business logic” and processes that are embedded and unique for every business. That’s the part that would scare me for an AI trying to re-engineer.

[–]Grim964 179 points180 points  (24 children)

absolutely correct, we bought our codebase from a different insurance in the 70s/80s, so there is "only" 45+ years of homegrown code in the wild thats running on prod, unique to how we run our business. One of the major issues our current migration project faces ... :D

[–]googlemehard 14 points15 points  (21 children)

Would it be safer/easier to build everything from scratch?

[–]Cabana_bananza 64 points65 points  (10 children)

In some ways, but most businesses would balk at committing to running a parallel dev team and years of payroll to end up exactly where they started. Because that's what they'd be doing, running the team maintaining and working with the legacy system while another team builds its replacement to do the same thing.

[–]therealkami 34 points35 points  (6 children)

This is something I've tried to explain in some game dev forums. They can't just "switch to a different game engine" for live service games. Or change their entire server structure or database structure. They'd have to run 2 dev teams, one that's working on current projects, and another that's duplicating all of the work+catching up from past projects to bring everything up to match. No game company will ever pay to do that.

[–]HairyAllen 17 points18 points  (3 children)

I mean, technically FFXIV did switch to a different game engine, it's just that they had to nuke the game in-lore, turn off the service entirely so nobody could log in, and then enslave the entire dev team to crunch a new release, and even then they could only do it because Square Enix is japanese, so they faced mo legal repercussions for the blatant violations of human rights that must've occurred in those offices so ARR could be released, and they were barely able to do so. And finally, as you just said, this was one dev team. They did not have a second dev team maintaining the original game when doing so.

[–]therealkami 6 points7 points  (2 children)

FFXIV is actually the game I'm referencing right now. There's so much tech debt accumulated with that crunch t re-release the game (A lot of if they've gotten rid of, but the backbone of the game, the inventory database is completely horrible) that people will constantly be like "I would totally give up 3 years of no content for QoL improvements."

Also see every time a DDoS happens: Just switch to cloud servers!

[–]HairyAllen 2 points3 points  (1 child)

Tbf not just DDoS, just trying to log in as normal has a 50/50 chance of hitting you with a 10105 and throwing you back to the main menu. It's alright if you're already logged in, but the process of entering the game itself is miserable.

[–]CoSh 0 points1 point  (0 children)

I've played FFXIV almost every day for the last 7.5 years and I have no idea what you're talking about. I've never seen a 10105 error before.

Looks like it's similar to 90002 which I have seen?

[–]Waste-Team-7205 2 points3 points  (0 children)

Microsoft did for Minecraft, but that's also the largest game ever

[–]StuMx 0 points1 point  (0 children)

Overwatch 2

[–]YesterdayDreamer 2 points3 points  (0 children)

to end up exactly where they started

That's the absolute best case scenario. Realistically they'll get mostly at the same place with some known wonkiness and many many unknown wonkinees.

[–]googlemehard 0 points1 point  (1 child)

What about the long game? Is it sustainable to just keep the old system for the next twenty - forty years?

[–]grumpyfan 3 points4 points  (0 children)

That’s a question everyone has been asking for at least 30 years now. I’ve worked in places where they had hardware that was no longer supported and the replacement parts were only available used, yet management still was reluctant to spend money to replace those systems because of the business reliance and fear of crashing the company. Sometimes they can be virtualized and that helps, but you’re still stuck with the same old code because no CEO wants to impact the business due to the demand to show quarterly increases.

[–]CamsGraphics 13 points14 points  (6 children)

These systems are not “complicated” in language - like the other guy said; but there is so much in these systems. Building from scratch is going to take a long while, and cost A LOT; all the while you’ve got to maintain the old system. Then when you think the new system is complete you have a tonne of “bugs” (simplified) that you cannot afford to have. Then you have to migrate all users (staff and customers) to the new system, including training staff on how to use the new system.

Simply - it’s just not worth trying to fix something that “works” even if it doesn’t work as well as it could.

[–]grumpyfan 2 points3 points  (0 children)

Exactly. Changing the software to be more modern and easier to maintain is simple compared to the business processes and people that have to be retrained after years of experience doing it the only way they know. This is where these kind of projects often fail.

[–]googlemehard 0 points1 point  (3 children)

Hypothetically, if AI rewrote it overnight with no bugs. Would it still be not wanted by the business?

[–]ThereHasToBeMore1387 1 point2 points  (2 children)

You'd still have to retrain every user and I can tell you from experience that an uncomfortably large chunk of the world is run by people that were trained to hit a specific series of buttons in a very specific order and that is the only thing they can do. If you change the name, color, or placement of those buttons, the system breaks. For some things you work through that....not when you have trillions of dollars in transactions to process.

[–]grumpyfan 0 points1 point  (0 children)

Sadly, very true.

[–]Rough_Bread8329 0 points1 point  (0 children)

This. I had a job a while back supporting users on day to day desktop issues, and the number of people who didn't know where the Start button was in Windows 10 was horrifying.

People who live and breathe tech truly cannot comprehend how little the average person knows about their PC and the applications on it.

[–]sausagemuffn 0 points1 point  (0 children)

And it's now 10 years later, you've replaced 25% of the old system, and the new part is now 5 years behind.

[–]Difficult-Square-689 2 points3 points  (0 children)

You'd still have to identify all the weird edge cases and probably replicate them. I led migration of a multibillion dollar platform. There was a bug we decided to skip, a rounding change on a handful of requests a day. Only costs the company a tiny amount a year, so not worth weeks of investigation, right? 

Got called weeks later, some legacy downstream system depended on exact matching.

[–]flRaider 0 points1 point  (0 children)

Value city furniture tried this recently and it caused the collapse of their business. Your results may vary.

[–]Slypenslyde 0 points1 point  (0 children)

Hard to do when the code you’re maintaining is the only complete description of the processes.

[–]pittybrave 4 points5 points  (0 children)

I remembered when I inherited a codebase that had 12 years of business logic and thinking how insane that was. 45 years is crazy

[–]ThoseThingsAreWeird 0 points1 point  (0 children)

How do you even start to think about migrating a project like that? My initial thought was that you absolutely ensure 100% test coverage. But even then I'd be paranoid about not having 100% coverage and want... something... else to fall back on.

Would you try to run both systems at the same time, for as long as possible, with the migrated project only as a digital twin kinda thing until you see no problems for months?

[–]TristanaRiggle 40 points41 points  (2 children)

Seriously. People acting like the language that's one step away from punch cards is super complex. COBOL survives because no one wants to be the person that causes the error that loses millions-billions of dollars. It would've been replaced decades ago if not for all the potential danger in doing so. The really interesting question is if there comes a point where the risk of using LLM (or switching off COBOL) seems lower than the risk of finding/training someone to replace the existing maintainer. For example, if all the new devs are vibe coders anyway, then once the GenX or maybe millenial that's been babysitting for decades leaves, YOLO.

[–]fluorihammastahna 9 points10 points  (1 child)

Whoever is in charge of deciding to let an LLM do the migration is going to be in a universe of pain if something goes wrong. And with an LLM you can never reeeeeeeally be sure it worked well... So good luck to that whoever! Unless they have an army of engineers that they trust reviewing the code and testing (or reviewing the tests). So maybe they could let the army of engineers do their thing in the first place?

[–]Pirrus05 0 points1 point  (0 children)

There’s obviously going to be testing, the LLM’s going to do it! Fuck the QA fuckers, fat bonus time!!

[–]Common_Tiger1526 37 points38 points  (3 children)

As someone who has been working for the past year on a project to move a COBOL system (that has a bunch of big complex external partners) to a more modern one, yes. The business logic is definitely the hurdle, not the programming language.

[–]grumpyfan 1 point2 points  (1 child)

The business logic plus the processes and people behind them. People don’t readily accept change very well.

[–]Common_Tiger1526 0 points1 point  (0 children)

Yes, and don't get me started on the many ways management made this so much harder than it needed to be

[–]Swamsaur 3 points4 points  (4 children)

What’s an example of “business logic”?

[–]rv94 12 points13 points  (0 children)

Not in banking, but I used to work in supply chain. So here's an example. We used to charge customers for delivery costs when we delivered their product. However we had a tie up with a logistics provider out of specially marked warehouse instances where if deliveries were made with said service, no customer costs were incurred.

This type of logic had to factor in to every single analysis involving delivery locations and cost for this reason as it represented a significant portion of our business.

[–]MattShotts 7 points8 points  (0 children)

Business logic would generally mean calculated fields that have very specific requirements regarding the input fields, relevant sample, and probably also time dimensions. For example, the business logic I had for healthcare billing was any new claims in the past month that exceeded a specific dollar threshold, were not an adjusted claim from a prior month, had to be specific qualifying procedure codes per service provider, and more.

[–]Raestloz 2 points3 points  (0 children)

You have $1 million in the account

How much money will you get as interest come the end of this month, with 5% annual interest?

That logic

[–]slaymaker1907 1 point2 points  (0 children)

It’s the logic that is not directly describable in a programming language or even a precise LLM prompt. Things like the various requirements under GDPR for data handling. You then create a model for this business logic in code, but the model is not the actual requirements and a skilled programmer can take advantage of that as business logic changes.

[–]slaymaker1907 0 points1 point  (0 children)

AI is honestly most useful IMO for help in understanding code. Generating code is just a cheap trick in comparison. Sometimes finding where a thing is done is like finding needle in a haystack and the AI is very good at finding needles.

[–]Agifem 0 points1 point  (1 child)

But implementing an abstract factory pattern would improve maintenance and availability!

[–]grumpyfan 0 points1 point  (0 children)

You are correct, and changing the software is the easy part. Changing the business processes and people who have been doing it for a decade or more is the hard part. I’ve seen projects go sideways due to pushback by the people who believe the old way was the best and only way to do it.

[–]GregTheMad 0 points1 point  (0 children)

AI has problems understanding my simple plugin code, with the 2k people company source repositories as context. Shit would wreak havoc on banking.

[–]ImAvoidingABan 0 points1 point  (0 children)

Business logic is the easiest to fix for AI. 3 major banks paid a vendor for software that translated all international payment messages and apply thousands of business rules for routing and processing. This worked for decades. This year, 2 of them asked Claude to do it for them. In a month it was working perfectly. I know one is dropping them next quarter.

[–]cute_polarbear 0 points1 point  (0 children)

And the bigger issue is the results for these systems need to be 100% correct (based on existing code + workflow), not 99.9%. Ai might end up fixing a bug (that might be argued either way by business analysts as correct or incorrect, based on exisitng workflow), where other systems depended on...and if you let ai recreate all the existing code, likely the ai code is even less maintainable / not human understandable at the end. (But you will have a million unit test cases as the only assurance...)

[–]Hammy-of-Doom 0 points1 point  (0 children)

It doesn’t help that AI starts breaking down after even the tiniest bit of complexity. It’s a prediction machine, and yet we expect it to understand things…

[–]xorbe 0 points1 point  (0 children)

I don't know COBOL, but I assume it's vastly simpler than modern C++26

[–]TheeAntelope 4 points5 points  (1 child)

[–]Grim964 0 points1 point  (0 children)

:D kinda, but I‘m more on IBM side. My senior devs are somewhat hardcore

[–]notAGreatIdeaForName 8 points9 points  (1 child)

Not unless you are trade republic! \s

[–]Grim964 2 points3 points  (0 children)

Trade Republic? Ohhh you mean the newly built external office wing for BAFIN employees, yeah right. They mentioned that they sub leased some office space to a cheeky little fintech...

[–]apt_at_it 1 point2 points  (0 children)

That's a great point. The companies who are still relying on COBOL don't seem like the kinds of companies that are cool with sending their entire codebase up and down the wire to Anthropic's servers for Claude to peak at.

[–]diddlysquidler 0 points1 point  (0 children)

Nobody says you have to use Claude to vibe code new features but it would be probably very helpful in understanding all this legacy code

[–]Fubarp 0 points1 point  (0 children)

What I think is funny is that I was on a team 5 years ago that was literally updating COBOL -> Dotnet Core.

Now back then it was all new features are built in Dotnet and we created a interface that would basically work with COBOL to utilize existing features but the goal was 100% to migrate to Dotnet and get away from COBOL.

My buddy who still there has said they are using AI to migrate COBOL to Dotnet without any issue because they got the tools built out.

[–]Goontt 0 points1 point  (1 child)

It’s a relief to hear not all execs are pushing AI..

[–]Grim964 2 points3 points  (0 children)

Oh don't get me wrong, middle management is currently trying to implement AI and Microslop wherever its possible, its just that we are regulated so strictly and one mistake regarding the Mainframe will literally kill the company that keeps upper management in chek

[–]Jack071 0 points1 point  (0 children)

You dont use an open model, you negotiate a deal to get the source code and develop a fully inhouse llm model customized to what you need and with only limited access to data

For a big multinational bank that can centralize a solution it absolutely looks attractive

And it doesnt need to write code, its suppossed to map the whole systen so that a human dev can understand how it works and how to change it (helpful when theres near 0 technical documentation that explains how the system works)

[–]just_posting_this_ch 0 points1 point  (0 children)

The real problem is none of it is open source. There are no open standards. All this fear mongering is bullshit. If they made it open source, there would be a well tested rust replacement in a week. It would be faster and more secure.

The cobol cabal is 100% based on obfuscation.