Hacker News new | ask | show | jobs
by 8fingerlouie 271 days ago
Java is the new COBOL.

The financial sector, insurance sector, healthcare sector all jumped on Java a couple of decades ago, and they have massive repositories of Java code, and are actively migrating their COBOL code to Java.

4 comments

> Java is the new COBOL.

What do you mean by this? To me it sounds like people are saying they are both "old" languages, but I don't know what you mean.

I work in a shop that has lots of both Java and COBOL. We are not "actively migrating" COBOL code to Java. It looks like mainframes will continue to exist for decades to come (i.e. >20 more years). Obviously, brand new applications here are not written in COBOL.

They mean that Java is being used by enterprise now as COBOL was back then
I've said this myself as Java's reification of mid 90s OO and poor interop via JNI are not to my taste. But I've spent 25yrs in banking with JPMC, BoA, Barclays et al. Done lots of interop with Cobol on S/390, AS/400 and VME. Never heard of any of those systems being rewritten in Java. Have encountered key mainframe prod systems for which source is lost.
I know of one investment bank (a former employer) that rewrote its mainframe-based settlement system in Java (on Linux). Front office systems were often Java (replacing Obj-C in some cases).

That was two decades ago – almost a generation! Interesting to think that some of those systems would now be considered “legacy”.

I'm guessing Swiss Bank/UBS as a mate used to trade there and had a NeXT workstation and loved Wingz. Later I heard they were doing server side pricing work on Apple servers. I stand corrected; thanks!
There are even whole companies specialized in semi-automatic migration of cobol to java.
I might be mistaken but as I understand it COBOL never had the reach that Java does. It's everywhere, from embedded systems to massive clusters, as bulky VM, slimmed down VM or native. Business, science, recreation, the sector almost doesn't matter, it's going to have Java somewhere in there.
Yeah, isn't SAP built with Java? Stodgy old big bloated. The new COBOL. Oracle/Java/SAP. Some kind of trinity of evil.
So is Netflix. Silly take
So is most every corporation? What is point? Have you had to implement SAP? Nobody is happy.
You seem to be saying that SAP sucks because of how enterprise java is.

That would make OPs counter re netflix relevant. I don't understand your point

Wasn't this whole thread about joking that Java is the new COBOL? And a lot of enterprises use Java and that is becoming the new entrenched/old/stodgy language that the hot new kids don't want to use?

In its day, a lot of 'cool' companies used COBOL, back then. Because it was an ok solution, back then. So to say, today, Netflix is cool and uses Java, thus Java is different and still cool, is not valid. Does not invalidate the point. It is the same situation, just decades later.

Maybe shouldn't have conflated SAP, but they seem to be just all part of the same giant ecosystem of 'current/entrenched' solution that 'we use because we have to, not because it is better'. Not unlike COBOL.

Everything has a "day and age".

I'm not saying COBOL is a bad language, far from it, which the billions of lines of code running production proably also attests to. The first COBOL program i ever edited, in 2008, was last edited in 1987. It had run flawlessly every day for 20 years. COBOL when invented was invented to allow business people to express business logic programatically, which is also why it has such a large footprint in finance, insurance, etc.

I'm not saying Java is a bad language either. Java is great, much like COBOL was, and like COBOL, Java still evolves today. It has flaws, but so does every other language, and most of the flaws in Java are understood. There is literally also nothing you can't do in Java that you can do in <insert fashionable language of the year>.

We probably shouldn't write web frontends in Java, and most people figured that out a decade or more ago, including the financial institutions.

The typical flow in a financial institution is something like "Angular (in some form) => Java Backend => COBOL on mainframe => DB2", where "=>" can be anything from REST to message queues (i was tempted to write MQ, as most will likely be IBM MQ, but others exist and are used).

Most companies migrating away from mainframe (and thereby often COBOL), have also started implementing microservices instead of giant monoliths, which is what has kept the mainframes of the world running for so long. Most companies i've worked with, have had 45,000 - 90,000 COBOL programs running every night, with almost as many running on demand, and each and every one depends heavily on the output of the previous part of the chain.

Thost giant chunks are now being migrated to microservices with well defined couplings, meaning that when it eventually becomes time to migrate away from Java, it will be somewhat easier as you can eat the elephant one mouthful at a time, and not have to reimplement 50+ years of legacy code and conventions in one go.

I've said it before, and will gladly say it again, if you choose a COBOL career today, you will most likely never be unemployed for long until you retire.