Hey, I know a lot of COBOL developers and, on average, the last change the code they are working on happened just 20 years ago!
For non-video people like me: The World Depends on 60-Year-Old Code No One Knows Anymore
The real headline behind it: IBM plans to update COBOL via Watson AI to Java.
plans to update COBOL via Watson AI to Java.
it went from bad to worse
This is delicious. I hope they hurry up, and I hope they do it in a really large really public context.
I’ve had this conversation, but today’s generation of AI won’t:
“No, I can’t just do a one for one translation. Some of the core operating principles of the language are different, and the original intent needs to be well understood to make the appropriate translation choice. If I just translate it one to one, with no understanding of the business context. you’re going to suffer from years off debugging subtle but impactful bugs.”
Get on with it IBM. Let’s light this dumpster fire so we can all bask together in it’s glow (and smell).
There may be a day coming in the next 100-1000 years when a learning algorithm is a suitable replacement for an expert engineer, but that day has not arrived (and the early evidence of that impending arrival hasn’t arrived, either. I haven’t seen evidence of AGI experiments with even toddler reasoning levels, so far. Toddler level reasoning wil come before AGI with infrastructure deployment skills, which itself is probably coming before AGI with expert business logic diagnostic skills. This could all be 20 years or 1000 years away. But we will probably see LLMs running deeply insightful life changing management workshops sometime roughly next week, since a trained parrot could do that. If we have an AGI that can meaningfully reason with small numbers in the next 20 years, we will be making great progress and on track for the rest to arrive - someday. If not, then we’re probably waiting on a missing computational breakthrough.)
But we will probably see LLMs running deeply insightful life changing management workshops sometime roughly next week, since a trained parrot could do that.
Wasn’t there a (successful) comany that replaced it’s CEO with an AI?
Oh. Asked and answered, thanks!
I always wonder if I should just learn COBOL and try to just do a few juicy contracts a year and focus on my other pursuits (farming and considering making a game, as well as vacation of course) the rest of the year.
Just knowing the language isn’t enough to make the obscene money. You have to also be very familiar with the systems that use the language, and that takes years.
I have domain knowledge for some usages at least, and worked on things that were converted fairly recently from COBOL and places that still had AS/400 and such in use. I am aware I would need experience (beyond personal) before any real money would be there.
Try it out! Being a self taught programmer is incredibly rewarding.
My friend’s mom gets called back for COBOL stints at major US banks all the time. I don’t know how long it’ll last, but apparently the list of people to select from and bring in is ridiculously short.
how can you realistically enter that list?
its not like they bring in just anyone that learns it i guess?
I’ll have to ask, she worked as a COBOL contractor for multiple banks historically so it might be one of those “who you know” type things. I’ll circle back and reply here if I hear anything.
I wouldn’t recommend it. I actually looked up COBOL jobs a while ago, and while they paid more, it was only like 20% more - not enough to make it worth it IMO.
I live and work in Japan where dev salaries are much lower so, if I could just get a contract gig in USD, that would be pretty big for me especially with 1usd being 150 JPY or more
Eevee’s heteroglot entry for COBOL is interesting, coming from … practically anything else.
There’s also someone doing AOC in ABAP (basically SAP COBOL) who posts over in the AOC subreddit. I’ve looked at them and … mhm, I know some of these words!
I’ve fallen down the rabbithole. I’m reading a free course (from 2001ish) on Cobol.
COBOL is Maintainable
I now question everything. I mean, technically, basically anything is maintainable in that it’s possible…
I mean, the fact that more than half-century-old COBOL continues to be maintained does speak to the fact that it is maintainable. That might also be part of what makes COBOL painful to the average developer: You’re not only dealing with a language that first appeared in 1959, designed for machines that were very different than modern computers; you’re also dealing with over a half century of legacy code, including all that means for Hyrum’s law.
Unfortunately maintainable and pleasant to work with are rather distinct concepts.
Just remember the Voyager spacecraft are still out there… and being maintained.
COBOL also can work with all modern day components. Like odbc/SQL etc…
I don’t know if this is realistic. Considering making a game is a full time job.
This isn’t true. If you can get by while working part-time, you still have at least 40 hours every two weeks to work on your game.
It’s one of my biggest regrets, that after school I immediately jumped into full-time job, even though I realistically could live comfortably with 1/3 of the pay I was getting, since young+no familly+no car+shared living reduces your living costs by a very large margin. My best friend did that and has been working only 2 days per week since. I was trying to keep up with him, working on our game in my free time, but it’s simply not feasible to build on top of 40 hours per week of regular job, and then do anything meaningful on your side projects. I barely struggled to get myself to do at least 20h of work per month on the project, missing deadlines, and it sucked.
He, on the other hand, kept our game project afloat and moving forward, with 60+ hours per month, while also writing and running a large LARP for 100 of players, directing his own theater group, and in general successfully working on a lot of projects, including several smaller games.
The best advice I can give, if you want to be a game developer, is to 1) not work in gamedev and 2) work part-time. The IT salary should net you a comfortable life even on part-time pay, assuming it’s not gamedev. Smaller studios will have difficulties keeping afloat if they need to pay you, and in larger AAA studio you will be the same code-monkey crunching JIRA tickets as you would be in any IT job, but for a lot less money. And the design freedom you get when your livelyhood doesn’t depend on your art’s success, be it games or anything else, is totally worth it.
For example, this game has been developed solely in free time, without anyone getting paid for working on it. It’s not AAA and the development takes a long time, but it definitely doesn’t need to be a fulltime job.
You probably dodged a bullet there, thinking you can “just make a game” with a polish that makes it playable. It is a skill you have to learn, several actually. You can learn that if you work in the gamedev industry so I don’t understand why you recommend against it.
Taking x time off to make a game with low knowledge could be a fun endeavour but not more than hiking IMO.
Source: ancient gamedev
I forgot to add that I had a Masters in Game Development and Computer Graphics, which definitely helped, but I still learned most of my gamedev skills by regularly attending gamejams and working on my own projects. I’ve also started working in gamedev for the past year, and I wouldn’t say that it teaches you much, since you are missing out on 80% of actuall development and only crunch JIRA tickets and bugfixes, as a junior that is, without being exposed to the more important parts or other skills. Assuming you join a larger studio with game in progress, in an indie studio with team of 10 people, you’ll probably have a lot more responsibilities and impact on other stages of the game’s development.
Yes, a small dev team is the ticket, and even then you might be excluded from marketing and all that jazz like funding, getting edited etc.
You seems to be on track to be a game dev of sorts, and who knows, maybe you’ll make your own games one day, good luck!
Forgive a question from an oldtimer, what exactly is a master in game dev and computer graphics?
Do you learn how to code and like draw, model, rig & animate? Code 3D engine stuff? Game mechanics I guess? For 5 years?
I’m curious :-)
It was only two years, and it was basically half nornal computer science classes, and half working with engines, making a game with classmates and mentors from the industry throughout the year, and learning about rendering, AI behaviors (the videogame kind, not LLMs). The graphics part was about shaders, lighting, post-processing, global illumination, renderers and math, not modeling. It was mostly technical, but we had some game desing classes.
I wishlisted that game. Is it yours? Looks right up my alley…
It won’t be my first and I’m not going super ambitious or AAA. If it takes me 5 years to do it, that’s fine.
I wrote my first game in straight C with no laptop so literally writing code on paper when not at a PC which I would later type in later
The creator of Minecraft made the game in his spare time.
Maybe “no one” can read it because “everyone “ posts YouTube links with some SEO bullshit shouting at me like a fucking tabloid, instead of a link to the readme of the video (transcript)? I know I’m old man shouts at void here but STFFFFFFFFU. Tldw.
At Uni doing CompSci in the mid 1980s, we were told the likes of Cobol was dead, and we were taught Pascal :)
Cobol is dead.
And I think it’s about time to start telling people Java and Perl are dead, so they can marvel at how much Cobol and Java and Perl are still doing in production after death.
It’s dead in a similar way to Latin where nobody learns it as a first language. Everyone who learns it does so for a specific purpose.
In Canada there are large organizations (including many in the government) who subsidize college courses on Cobol just to be able to get some fresh talent to learn it. In some cases they’ll pay the tuition for the course entirely. Huge systems at the center of critical government functions still depend on Cobol .
“Java/Cobol is dead like Latin”
I love that. I’m going to steal it.
Edit: And I acknowledge that when I say that about Java, I’m just trying to wind people up. Java is losing popularity fast, but is still a pretty common first language.
Can remote non-citizens apply? Asking for a friend.
They’re not dead, they’re alive and actively doing work. People want to change that and move on to a better dystopia.
I took a Pascal class in Junior High summer school. I thought it was very weird compared to BASIC.
They could probably tweak Watson to turn Cobol into Pascal.
how to obtain this ‘last person that knows cobol’ title with whatever language goes extinct next?
you could just learn cobol. it’s not going anywhere, unfortunately
As someone who has worked with it, it’s not too bad. Lots of $$ if you know someone.
The biggest issue (that she goes into), is the lack of context. Why is the thing doing what it is doing is the hardest part
Like could I learn it enough to obtain a real job tho? That pays real money I mean?
You could most likely find some damn spicy contracts. The real question is, is it worth it?
You’re going to retrofit some old code to fix an upcoming date bug, or try to make some changes wrapped around security vulnerabilities. But these systems we’re relying on, they’re in banks, air traffic control, and in hospitals, we’re not just depending on these boxes but critically depending on these boxes. There’s almost nobody sitting around to give you a second set of eyes on the code, probably almost nobody capable of doing proper QA on the systems you’re working on.
Every attempt at dissuading me only makes the fun of the challenge more enticing.
None of this matters as I have no work experience–only hobby crafting.
My point is that there will always be people willing to try and the more you tell us “you don’t want to” the more us not so privileged with work-experience continue dreaming with deeper allureOh, I’m not trying to talk you out of it, I’m just making sure that you see all sides of the scenario.
I looked at some of the Y2K patches, I don’t strictly know cobol either , but it’s not that hard to read.
You’d think that code lying around would be refined as they had limits on space and everything was so mature. It’s still pretty trashy :)
good cobol programmers are probably the highest paid programmers there are. mostly because there are so few of them and the systems are so critical.
but like… it’s not going to be fun. cobol as a language is extremely verbose, and you’re not going to actually develop anything. it’s just fixing compatibility problems and y2k issues all day.
And most places are looking to get the process out of COBOL. So essentially you putting yourself out of business, slowly.
I am a professional software engineer. My favorite ecosystem is the Java one which may explain some things.
Why is verbosity such a bad thing? Especially in the context of maintaining something someone else wrote? I would much rather maintain old Java than say, old Perl. I want big long names. So I have a better idea of what they were for! I can pretty much read any line of Java from anywhere and have a very good idea what it’s actually doing.
Sure, it’s more of a pain to type but as a kid one of the best investments I made in myself was to take a typing class. I did this way before I discovered my passion for programming. I can type fast. And I can make my editors type boilerplate for me.
Edit: Give me the time to learn it (I’m confident I can learn it fast) and the ability to work remotely and I would jump at the chance. I can do the fun programming (in Java) in my spare time.
Why is verbosity such a bad thing?
oh the names aren’t long. cobol has keyword alternatives for all operators and all numbers up to 20. since the language was designed for non-programmers, code in the wild follows no paradigm and mixes these alternatives freely. names are usually kept as short as possible.
there’s also a lot of boilerplate required for each file wrt the actual structure of the sections, assembly style. sure most of this can be automated with tooling but there’s no tooling available. the cobol people have mainly worked in their own sphere and not been included in the tooling explosion of the last 15 years.
here’s an example of some well-written cobol. most of it is nowhere close to this consistent, or source-controlled for that matter.
keyword count is a quick but bad metric of language complexity. thanks to all the alternative syntaxes cobol allows, it has around 300 keywords.
What would scare me the most is the bad tooling. I do rely on my tools to search for references, etc. I wonder if it’s even possible to write a good analyzer for COBOL. Verbose operators and literals wouldn’t scare me at all.
Still would jump at the chance. It would have to be remote and I would strongly prefer being the only engineer touching the code.
you’re not going to get a position remote if your client is a bank or some other entity that does cobol. that shit is running on an airgapped machine running a vm of a machine from the 90s running a vm of a machine from the 70s. if you’re really unlucky the source will be on punch cards because they didn’t invest in a machine with storage and asked the VM developers for the same workflow as before
getting paid to code anything is a dream I’ll have til I get to the graveyard.
I think the privileged are cursed to never understand this somehowthe market is screaming for talented developers. get in there!
Sure are a lot of layoffs in the tech industry as a whole if you aren’t trolling
if you’re looking at web stuff, sure. that market is saturated. i’ve worked in mining, manufacturing and vehicle industries and they’re always looking for people.
I’d bet you will probably work for experience or exposure and very little money on the first job or two you take, since you don’t have any hands on experience. But after that it’s kind of a name your own price gig.
I know you’re joking, but it’s one of the only kinds of jobs I can picture motivational enough to pursue
My money is on PHP.
TCL?
Perl
all of these are still used in modern applications. i suggest Forth.
I bet there’s still some FORTRAN in use at NASA/JPL.
Alternatively, I’m pretty sure key parts of Excel were written in x86 assembly. Dunno if that’s still true.
When I was going to university in the early 90s I was taking computer programming for business administration, COBOL & FORTRAN, could not drop it quick enough. Such an old boring language (never stuck with programming, maybe they’re all like that).
Bunch of my class mates did pretty well with the whole Y2K issue though.
Fortran is everywhere. it got a new release less than ten years ago.
Numpy uses Fortran
I doubt it. It’s still used in a whole lot of medical and banking applications where there’s a lot of text manipulation since it’s really good at that (HL7 and other EDI stuff for instance).
I made good money on EDI.
Yeah. There’s always at least one mission critical Prel script that no one can read.
Like, 70% or more of the web runs on PHP. That’s also not going anywhere anytime soon.
Right. At least 70%. I’ve heard it estimated as high as 97%.
And it’s losing popularity with new development, (and with new developers) while WordPress, Drupal and WikiMedia are everywhere.
Perfect recipe to be the next Cobol.
Oh I see what you’re saying.
Dang, maybe I should learn PHP…
I liked laravel. It’s very rails like.
Vba
I’m a vba wizard, do not tempt me into waiting until it’s at the state of cobol
ADA or Jovial, I’m guessing.
Probably no longer possible now that we have generative AI, a coder can now be archived alongside the codebase itself.
I know devs writing in it making over 200k per year. Ai isn’t that useful unless you can correct for it’s mistakes, which requires some experience with the language.
Maybe in another 10 years.
deleted by creator
The reason banking still uses Cobol is the same reason they would never trust AI
GenAI coding assistants are only as good as the data they are trained on. Less-used proglangs make up a tiny fraction of the available data, or may even be completely absent. There is a reason coding assistants give convincing results with Python and JS/TS, but underperform even on relatively up-and-coming langs like Rust.
Maintaining old code is the real drawback. Surely nobody finds that fun.
COBOL is just the turd on the shit cake.
Pay me to do it remotely and I’ll jump at the chance
Friend of mine maintains COBOL for an insurance company. He lives on the opposite side of the country from his business, and is only on call one weekend a month.
Dude got hired before he even graduated, getting paid 70k, and gets to live wherever he wants.
I would kill for that lol
70k is likely way underpaid for dealing with COBOL. I’ve heard of people making 200k for being on-call
Yep I worked in insurance and COBOL. Mostly getting it out of COBOL. Working remote is so nice! I’m hybrid right now it’s excellent.
Some people know it, and they make obscene salaries with their knowledge.
no, they don’t
The world’s not too bright, then, is it?
🤷
Still on my to-learn list.
I learned on gnucobol. I believe it was updated to opencobol at some point.
deleted by creator
Not reading the title either, I guess.
I’ll learn it if you pay me $1 million/year