IT/Software career thread: Invert binary trees for dollars.

Haus

I am Big Balls!
<Gold Donor>
19,529
79,899
What impact do you think COBOL has on whether AI can take a Junior Dev role or not?
When those senior operators and coders who are writing and running those archaic systems retire/die this will pose problems for AI driven dev systems in that many of those old systems have evolved "organically" over time (i.e. horribly and often ill documented at best), and the newer devs have to learn not only how to code the language, but HOW and WHY the previous systems were written/architected how they were. I've seen examples of this still being a problem when some AI models asked to "Fix this code" or "Add this feature" to some of these entrenched systems. Maybe AI will advance soon enough that it won't be an issue. But I have that concern.

Or maybe AI will advance to the point that they'll point it at the system overall and just have it "Re-write this from scratch with modern coding practices, make no mistakes" to replace it. I think that will be a ways off still. So we'll still need some pipeline of humans for now.
 

Sheriff Cad

scientia potentia est
<Nazi Janitors>
32,846
78,563
Maybe it’s a difference in usage so pardon if this question seems ignorant… but why wouldn’t you just give it all the source code to look at? When I use Grok for legal stuff, I basically upload the entire case file (just the public stuff, we redact confidential/personal information) and say, I want to draft a response to this or that, here’s the points I want to make, etc. And honestly the drafts it comes out with are better than what I get from my junior associates.

Can you not do the same with code bases? Upload all the code base, say I need a library that transforms the output of function x to the inputs of function y, go - and then just slap that function in and start using it? Or do you give it more integrated prompts and it generates far wider-ranging things all at once?
 

Haus

I am Big Balls!
<Gold Donor>
19,529
79,899
Maybe it’s a difference in usage so pardon if this question seems ignorant… but why wouldn’t you just give it all the source code to look at? When I use Grok for legal stuff, I basically upload the entire case file (just the public stuff, we redact confidential/personal information) and say, I want to draft a response to this or that, here’s the points I want to make, etc. And honestly the drafts it comes out with are better than what I get from my junior associates.

Can you not do the same with code bases? Upload all the code base, say I need a library that transforms the output of function x to the inputs of function y, go - and then just slap that function in and start using it? Or do you give it more integrated prompts and it generates far wider-ranging things all at once?
You can. But with current coding technology that has it's issues.

With fresh "code from scratch" it seems to do much better than with "Maintenance coding" tasks. It's not the old language itself (COBOL) that I see as a problem. It's that a lot of older coding is, to say the least, somewhat difficult to follow. Plus many of the systems have "quirks" which are based on their age, plus pequliarities of their older operating systems, and complicated by the very bespoke nature of some of the more deep code in old apps.

Thinking of your example of case files. Imagine if the case files kept varying in format, and many of the citing of rulings weren't actually properly pointing to the original rulings, but back in the day when these were written people found it just "worked for them". Some judges had some "house rules" the cases in their court needed to go by, which some other courts didn't even though they were in the same jurisdiction. I don't know how much of that happens in your legal world though, so my analogy mapper probably isn't tuned well for this one. You could probably get an analysis done by an AI, but then you'd still probably need a paralegal to proof it out and sanity check it at the minimum, and if it was one of those older courts, you'd want one that knew about that judges quirks.
 
  • 1Like
Reactions: 1 user

Sheriff Cad

scientia potentia est
<Nazi Janitors>
32,846
78,563
You can. But with current coding technology that has it's issues.

With fresh "code from scratch" it seems to do much better than with "Maintenance coding" tasks. It's not the old language itself (COBOL) that I see as a problem. It's that a lot of older coding is, to say the least, somewhat difficult to follow. Plus many of the systems have "quirks" which are based on their age, plus pequliarities of their older operating systems, and complicated by the very bespoke nature of some of the more deep code in old apps.
It’s very likely that most of my programming experience is on these “older systems.” When I got my first computer job it was writing C code on OpenVMS/Dec Alphas. A ton of my experience was on Informix 4gl systems where I did C++ connectors to the 4gL programs. This shit is so legacy it was legacy when we were working on it in the 90‘S.

Given that I really have no idea what you’re talking about here. Can you explain in more concrete terms?
Thinking of your example of case files. Imagine if the case files kept varying in format, and many of the citing of rulings weren't actually properly pointing to the original rulings, but back in the day when these were written people found it just "worked for them". Some judges had some "house rules" the cases in their court needed to go by, which some other courts didn't even though they were in the same jurisdiction. I don't know how much of that happens in your legal world though, so my analogy mapper probably isn't tuned well for this one. You could probably get an analysis done by an AI, but then you'd still probably need a paralegal to proof it out and sanity check it at the minimum, and if it was one of those older courts, you'd want one that knew about that judges quirks.
Which code files change in format or don’t follow syntax rules? I’m talking about just giving the AI model the entire code base, why would anything be changing? Again, can you give some concrete examples?
 

Khane

Got something right about marriage
21,788
15,720
It would be faster and more cost efficient to use the loss of old COBOL developers as an excuse to modernize those systems. And use AI to do that faster.

That's more likely than someone trying to sit there and train AI on the custom COBOL codebases.
 
  • 1Like
  • 1Truth!
Reactions: 1 users

TJT

Mr. Poopybutthole
<Gold Donor>
46,852
128,261
It’s very likely that most of my programming experience is on these “older systems.” When I got my first computer job it was writing C code on OpenVMS/Dec Alphas. A ton of my experience was on Informix 4gl systems where I did C++ connectors to the 4gL programs. This shit is so legacy it was legacy when we were working on it in the 90‘S.

Given that I really have no idea what you’re talking about here. Can you explain in more concrete terms?

The question is really about narrow context. AI does extremely well when the codebase produces a mobile app or something that is just running on a phone. AI does poorly when it has to handle sprawling dependencies.

Take my work for example. The data platform is more of a philosophy than it is any one application. I have 5 different production code repos that support it, all of which have their own CI/CD. None of these different applications directly work together and it would be inefficient to make them work that way for various reasons. On top of that much of the cloud backend (on prem too) predates the concept of configuration as code, so the AI has no way to diagnose anything in it. You'd have to build more and more context for all of these things that it can't determine and those things are done by external teams so what do you do?

  1. Tell AI to make a calculator app and it will do that successfully in any flavor you want.
  2. Tell AI to diagnose this bug occurring somewhere in your infrastructure and you would have to first determine where it's happening in the first place. Which is a skill and experience thing on it's own. Then use AI to assist you with that.

What you're left with is needing to create a "concert" of AI agents handling their specific piece of the pie and another "conductor" agent to bring it all together and then a final "master" to work with all those pieces and do something for you. Not to say that this isn't possible or isn't what's coming. But it's a ways away.

Example of this principle:
 
  • 1Like
Reactions: 1 user

Noodleface

A Mod Real Quick
39,565
18,153
In my experience with how easily anthropic handles UEFI coding, none of this cobol stuff is a concern. The feature I'm the owner for is massive, sprawling internal IP and it can explain our entire code flow like it's been working on it for years. And the scary part is it's never wrong.

Now to be fair UEFI is open source, so I understand there's a benefit to any model you use. But our implementation is not.

COBOL has been this weird dinosaur tech that's been held over our heads as some mystical unicorn coding language but I think if you let anthropic in there with context to the entire source it could absolutely replace people.

I dont know if people realize how strong it actually is. Talking to my boss Friday we both agreed "scary" was an apt description. If you had asked me just a couple months ago I was on team "AI sucks".
 

TJT

Mr. Poopybutthole
<Gold Donor>
46,852
128,261
COBOL itself isn't the issue. The problem is often the mainframe it runs on. GM had some when I worked there that ran their plants. The problem is that these mainframes don't run on some variant of Linux or something, they have custom operating systems that exist on dusty old manuals made by IBM for that one machine. Along with decades of development on it that was never even in source control to begin with.

But sure, if you jerry rig a modernized github process onto it and extract all your system changes to the original mainframe OS over the past 50 years it can probably help you.
 

Kuro

Karazhan Raider
10,446
32,705
The EverQuest spaghetti coder who made it so that changing the name of A Muffin would break Bard spells was just ahead of his time fighting the AI menace
 
  • 1Worf
  • 1Like
Reactions: 1 users

Noodleface

A Mod Real Quick
39,565
18,153
The EverQuest spaghetti coder who made it so that changing the name of A Muffin would break Bard spells was just ahead of his time fighting the AI menace
Same with WoW where they said changing the starting bag to anything but 16 slots completely broke the game
 
  • 1Like
Reactions: 1 user

TJT

Mr. Poopybutthole
<Gold Donor>
46,852
128,261
In another episode of drama from my old job. One of my coworkers was fired in addition to my manager leaving a week after I did.

The dude had been underperforming for awhile despite being totally technically capable of the work. He had performed before. No idea what happened to his work ethic to put in the bare minimum. But he wouldn't update tickets, wouldn't do anything unless told directly, wouldn't respond to slack messages, nor attend any meetings.

After I left he had the bright idea to use the leverage of me being gone to get a promotion into an "AI engineer" role of some kind. VP fired him instead the same day. He hadn't progressed to a PIP or anything but it was being noted that he was underperforming and had been for IDK the last 5 months.

This chaos makes me feel like I was somehow holding it all together there. Lol.