The World is Running on 60-Year-Old Code, and It’s a Huge Problem
Posted by pinkpen_net@reddit | programming | View on Reddit | 48 comments
Posted by pinkpen_net@reddit | programming | View on Reddit | 48 comments
databacon@reddit
Wait until they find out how old the math is…
LloydAtkinson@reddit
Opened it expecting something worthwhile reading. Essentially four or five paragraphs of nothing and things we all know. Definetly not worth the click.
ResurgentMalice@reddit
I can summarize what the article should have said; Modernization is incredibly difficult because it would cause massive disruption to systems that serve as the backbone of civilization. Stability is far more important than efficiency in these critical systems and the governments that have the capacity to modernize often lack the political will to do so. The solution to this is to overthrow capitalism and implement a planned or semi-planned economy where large scale infrastructure projects with long-term goals can be effectively undertaken free from the profit motive and capitalist meddling.
permetz@reddit
I’m sure that Stalin and Mao would have agreed with you, the millions they murdered perhaps less so, but hey, you kill one man and you’re a murderer, and you kill 70 million and you’re a great leader, right?
scorg_@reddit
It was actually trillions, and the number is still increasing
permetz@reddit
The extremely well documented and hard to argue with numbers say that communism killed at least 100 million people in the 20th century alone. If you don’t want to believe it, don’t believe it. I know that there are people out there who also think that Adolf Hitler really didn’t intend to kill all those Jews. Whatever, it’s your problem.
scorg_@reddit
Are these numbers the ones that include nazi Germany's military losses on the Eastern front?
permetz@reddit
No. They’re just their own citizens. Things like the Holodomor and the Great Leap Forward.
GCU_Heresiarch@reddit
The last I heard it had extinguished all life in this galaxy.
apadin1@reddit
We used to be able to implement large scale infrastructure projects back in the 40’s and 50’s and it wasn’t because America briefly became socialist. Overthrowing capitalism won’t fix everything, but taxing the rich will certainly help.
ResurgentMalice@reddit
It was because the capitalists were terrified of Communism and needed to keep the country functional and bribe the working class so we didn't slit their throats and join the reds.
Also, in the 40s and 50s the us economy was based on industrial capitalism. Starting in the 80s the us transitioned to finance capitalism and lost most of it's capacity for making stuff.
howz-u-doin@reddit
Very well put... when chatting with friends I put it as "Maximizing shareholder value... which has now focused on the short term means corporations have replaced actual engineering with financial engineering"
ErGo404@reddit
Good bot.
Oh wait, you're not a bot.
ResurgentMalice@reddit
I am a machine crafted by the gods for one purpose: HATE
AsyncOverflow@reddit
So tax payers should, against their will/vote, pay for software development that is neither critical nor will provide any benefit to them, simply because it “we might have to do it in the future”.
AlienRobotMk2@reddit
https://xkcd.com/1053/
1-800-We-Gotz-Ass@reddit
Thanks!
Material-Resource-19@reddit
This is the hardest part. I worked on one of these systems and we had someone with forty years of experience on the particular application to explain all this stuff. Conversion to Java is a piece of cake once you know that.
spinhozer@reddit
The scariest part of that sentence is "IBM"
Material-Resource-19@reddit
Twenty years ago, right after I’d started a new job, we got audited by IBM. There was a stupid paperwork mixup - we had being paying support for years for a couple of licenses of Websphere, but somehow, we had never actually run the initial license purchase through. I said, “no problem, it’s not like we’ve not been paying support - send me an invoice for the licenses at today’s cost and I’ll pay it in 30 days.”
IBM says, “no, unlicensed software comes with a penalty of 3 years of support.” I said, “sure, but we paid support. How your system charged us for maintenance on things we didn’t own sounds like a ‘you problem’, but we’ll pay for licenses like we would have 7 years ago. After all, I’m not actually sure you didn’t cash the check and not just fail to record the transaction.”
They insisted that we buy the licenses and pay the support, to the point that corporate counsel told me to stop fighting. The whole time, I’m working with our sales rep for IBM and he’s not doing shit.
I paid it and called our IBM rep in for a meeting the next week. I said, “I know you’ve been anxious to sit down with me and discuss how IBM can support our IT strategy. Here it is - as long as I am in this role, we will never buy an IBM product. Ever. I will be meeting with Oracle later this week to discuss how to migrate everything we have to WebLogic. My strategy is ensure that stop sending money to IBM for anything. Don’t ever call me again.”
Happiest day of my professional life was signing the attestation form that we had removed all IBM products from our environment and were ceasing to pay maintenance. IBM can get f**ked.
howz-u-doin@reddit
Nice... but bittersweet as now you're giving money to Oracle... I'd say at best a lateral pass of cash
darcstar62@reddit
So true. Just trying to support an old jQuery site that got tossed over to me without any documentation has been a nightmare.
Material-Resource-19@reddit
Exactly, but at least jQuery is still JavaScript.
As everyone told me at the time and I believe it to be true, even knowing COBOL isn’t enough. You need to understand JCL, and the datasets and GDGs. There’s an entire ecosystem that underpins these old banking and insurance systems beyond the COBOL.
darcstar62@reddit
True. While I never used COBOL in the real world, I took classes on it (and Cullinet DB, which is also a very different paradigm). I can't imagine trying to make sense of it all.
Big_Combination9890@reddit
Imagine this: pretty much the entirety of the worlds IT infrastructure, every single smartphone, and a helluva lot of software we all use daily, is handled by code written in a 52 year old programming language.
Yes, I am talking about C.
And guess what: in 20 years, C will still be a commonly used language.
So, please, do pooint out to me, why I should be worried about a language just because it is 8 years older than C?
EpitomEngineer@reddit
Because they still teach C in schools while COBAL is not.
If you can’t find people who know the language to maintain a project, then you can’t adapt the tool to modern times. Our banking infrastructure is far behind where it needs to be. It shouldn’t take days to transfer funds from one account to another when paying via card is instant.
Big_Combination9890@reddit
They also don't teach APL in school, and yet it is used in high frequency trading. Yes, there are some very specialized languages that not many people learn or ever even hear about. But luckily, we haven't lost all the COBOL textbooks yet, and so people can, and do, learn how to maintain that code.
howz-u-doin@reddit
Ah APL!!! Used to write a lot of software in it... it's main use today for me is when people ask me to write an example of some function I'll do it in APL just the screw with their heads (it's worth going out and looking for some code samples just to see what I'm talking about).
This reminds me... need to go see if ChatGPT can generate APL solutions :)
rfisher@reddit
Based on the number of college graduates I've interviewed with C on their resume who can't tell me why returning a pointer to a local variable is a problem, I'm not worried about what languages are taught in school.
Based on my colleagues who pick up new languages when needed, as long as there are people who are able to learn languages despite college, I don't worry about the fact that the languages they know may not be the ones they need.
SteveMacAwesome@reddit
Just to be sure, that pointer ceases to be valid as soon as the function returns, right? I don’t remember if stack frames are automatically deallocated in C.
rfisher@reddit
Correct!
superherowithnopower@reddit
I have made my career in extending and enhancing a system that began development 47 years ago, using a 58 year old language (MUMPS).
I did not learn MUMPS in school. I did not know MUMPS when I first got a job working with it. I learned MUMPS on that first job.
Since then, I have also had projects that involved Ruby, Perl, and C#, none of which languages I knew at the time, either.
Part of being a programmer involves being able to learn and work in new languages sometimes. No, you can't be expected to be an expert in every language you need to use, but you should be able to pick it up well enough to at least modify existing code.
If, for some reason, I picked up a job in COBOL, then I'd just learn to do that, too. That's how it goes.
tadrith@reddit
This is exactly it.
The biggest part about programming is understanding programming concepts. I got into it when I was about 12. It was a brick wall for me, for a very long time (along with working in MSVC waaaaay before the usability that is Visual Studio now).
I remember, one day it just clicked. From that point forward, learning another language is just a matter of syntax memorization. Understanding what I was doing was not an issue, I was just a little slower because I didn't know the syntax.
Now? C, C++, Java, Swift, Objective-C, Pascal, Python... it doesn't really matter much.
bowbahdoe@reddit
Generally because it's no longer being taught. C is still known by many coming in to the field. COBOL is not like that
YsoL8@reddit
Programming as a field still behaves as if its a new discipline and everything is green fields, which has ceased to be meaningfully true. We haven't as a field accepted yet that maintenance of projects that ceased much in the way of new features years ago is a serious and worthwhile part of the profession.
But the truth is its well on its way to becoming a very large part of the field.
Francois-C@reddit
Agreed. It's true that Cobol as a programming language may deserve more criticism than C, but I don't see why we should measure the obsolescence of a language by comparing it to human lifespan. Dans ce cas on pourrait aussi me reprocher de m'exprimer en anglais.
txdv@reddit
but have you tried rewriting it in rust?
Big_Combination9890@reddit
I think the more important question is: Can it run Crysis?
Izbegaya@reddit
Wonderful, let's replace it with JS. The motto here: it works, don't touch.
EpitomEngineer@reddit
No. Legacy systems need to be adapted to meet the needs of tomorrow, not yesterday.
“It” may work right now, but “it” will not work if the requirements change.
oldfartMikey@reddit
Legacy systems will not work if the requirements change? True. However it's also true of anything and everything else. Would you expect a modern system to just work when the requirements change.
Of course then there's the needs of tomorrow? Unfortunately I seem to have misplaced my crystal ball.
CordialBuffoon@reddit
Only 60 years? They're still hiring junior COBOL devs. And Visual FoxPro may be dead but holy crap is it in use
sweetno@reddit
That's a huge success! That's what every programmer should aim for: code that ourlives your children.
ambientocclusion@reddit
If it works don’t f… with it
Mognakor@reddit
Just make sure the blockchain supports COBOL and we're good.
seanmorris@reddit
Ok, but have you seen the bridges?
iktdts@reddit
COBOL enters the chat.
jessepence@reddit
Trash article.
It's a shitty ad for IBM's code completion AI.