News for hackers. Stuff that matters.
Re:It’s COBOL all the way down by SmellyGeekBoy on Tuesday May 01, 2018 @05:27AM (#16965592)
Speaking as someone who occasionally gets roped into supporting a COBOL application at a large financial institution, I genuinely don't get the "we must replace it because it's old!" mentality. If it's still the best tool for the job then why move away? Just train people up and build tools to work with it on modern systems, just like Micro Focus and COBOL Cowboys (both mentioned in the OP) are already doing. As an added bonus, you can make a lot a money in the process too.

"The guy who wrote it left and nobody knows what it does" is a poor excuse with a self-documenting language like COBOL. How much sense do you think your tangled mess of Java will make in 50 years?

Re:It’s COBOL all the way down by Clubber on Tuesday May 01, 2018 @11:18AM (#16967727)
>"we must replace it because it's old!"

My guess as to where that came from:

1. Tech companies stay relevant by reinventing new markets via new languages / frameworks. 2. New programmers can side step the "rookie" condition by adopting a new language thus leveling the playing field for that language / framework (i.e. everyone is a rookie). Plus whatever is new is hot, and everyone wants to know what's hot. 3. Because of this, few are interested in old languages. I was in college in the 1990s and COBOL was pretty much out as far as anything anyone wanted to learn. It was all Windows.

So based on 1-3, the reason "we must replace it because it's old!" mentality is out of necessity. The older the system / language, the harder it will be to find people to work on it. This has inherent risk. Of course these banking systems have decades of business logic, acquisition logic, and government regulations built into them, rewriting it has it's own massive risk.

Re:It’s COBOL all the way down by pmilot on Tuesday May 01, 2018 @05:47AM (#16965668)
While I generally agree with the "if it ain't broke" sentiment, you have to perform some pretty wild mental gymnastics to end up calling COBOL the "best tool for the job".

Adoption and ease of learning should always be considered when selecting a tech stack for a solution. COBOL's semantics are so foreign to modern programming languages that it makes the language pretty inaccessible.

Also, COBOL's strength is in the generation of reports, but in the end, it's no more expressive for that purpose than any general-purpose programming language coupled with a nice report generation library.

Re:It’s COBOL all the way down by coldtea on Tuesday May 01, 2018 @06:59AM (#16965996)
>While I generally agree with the "if it ain't broke" sentiment, you have to perform some pretty wild mental gymnastics to end up calling COBOL the "best tool for the job".

Do you? Lack of programmers, aside, it was created and evolved exactly for the kinds of jobs its used in.

Re:It’s COBOL all the way down by ams6110 on Tuesday May 01, 2018 @10:00AM (#16967064)
It is something of a DSL, as the name suggests (Common Business Oriented Language).

I would also disagree with GP that COBOL's semantics are really very foreign. Variable declarations, assignments, expressions, loops, conditionals, etc. are not that different from other imperative languages. More verbose, certainly, but not foreign.

JCL on the other hand....

Re:It’s COBOL all the way down by floatboth on Tuesday May 01, 2018 @01:44PM (#16969363)
If it's similar to other imperative languages, what makes it a DSL? What is the domain of "business"?
Re:It’s COBOL all the way down by coldtea on Tuesday May 01, 2018 @02:35PM (#16969969)
It's similar to other imprative languages in some constructs, it's very business application focused in others -- e.g. built-in support for forms, for monetary calculations and such.
Re:It’s COBOL all the way down by Volt on Tuesday May 01, 2018 @01:27PM (#16969178)
I think the real problem is that it needs to be maintained and nobody wants to do it. So… just start over in a more fashionable language, I guess.

Something I wonder about all the time is why software has to be so fragile. We always put so much work into maintaining things downstream because things break upstream so often it's frustrating.