Hacker News new | ask | show | jobs
by brightball 158 days ago
Heard an excellent COBOL talk this summer that really helped me to understand it. The speaker was fairly confident that COBOL wasn't going away anytime soon.

https://www.youtube.com/watch?v=RM7Q7u0pZyQ&list=PLxeenGqMmm...

4 comments

Both Fortran and COBOL will be here long after many of the current languages have disappeared. They are unique to their domains viz. Fortran for Scientific Computing and COBOL for Business Data Processing with a huge amount of installed code-base much of it for critical systems.
Don't know about COBOL, but FORTRAN and Ada definitely would survive an Extinction Level Event on earth.

Plenty of space based stuff running Ada and maybe some FORTRAN.

The key to understanding their longevity lies in the fact that they were the earliest high-level languages invented at a time when all software was built for serious long-lived stuff viz. Banking, Insurance, Finance, Simulations, Numerical Analysis, Embedded etc. Computing was strictly Science/Mathematics/Business and so a lot of very smart domain experts and programmers built systems to last from the ground up.
> a time when all software was built for serious long-lived stuff

I sometimes lament that most of the code I've written for work will probably be retired before me.

Don't be so optimistic.

One of these days I was at a small grocery store in my hometown, and saw the screen of a POS system I had built in the late 90s with Visual C++ 6 running on Windows 10. The guy told me he got the system from the previous store owner he bought the shop from, it did most of he wanted it to do, and that his son is the guy who do things like upgrading the hardware, and writing small python programs that talk to the same SQLServer database to extend the system and implement some integration, so he sees no reason to get another system.

Nice. I hope anything I've done lasts that long, but most of my jobs have been solving long-solved problems by yet another player in the market, so I expect it will all get decommission sooner or later as these companies either die or change hands.
The computers themselves were also so expensive that most businesses did not buy them, they leased them.
There are many in-house tools (say at banks) where Java code generates... COBOL. It's wild: in the video you linked it's explained COBOL was meant for machines that don't exist anymore so COBOL is running inside emulators.

So you have Java code, generating COBOL code, that's then run on an emulator emulating an old IBM system that was meant to run COBOL. It's just wild.

Some of the tools are even front-facing users (bank employees): at times you can still see at some banks an employee running an app in a monochrome green-on-black text terminal emulator that is basically COBOL.

It's weird, just weird. But legacy code is legacy code. And if you think COBOL's legacy is bad, Java is going to dwarf COBOL's legacy big times (for Java is typically used at the kind of places that still use COBOL and it's used way more than COBOL).

So in the future, heck, we may have a new language, generating, inside an emulator emulating current machines/OSes, Java code that is going to be code generating COBOL code (!), that's then going to be run in an emulator.

cobol runs Everywhere. Windows Mac Linux free and open source. https://sourceforge.net/p/gnucobol/discussion/
First of all, that conference is right down the road from me, and I never knew about it. So, thanks for sharing!

My first job was working at a credit union software company. I designed and built the front-end (windows applications, a telephone banking system, and a home-banking web thing) and middle-tier systems (VB.NET-based services). The real back-end, though, was an old COBOL system.

I remember helping the COBOL programmers debug some stuff, and it was just so wildly foreign. My degree is in theoretical comp sci, and I'd seen a lot of different languages, including Prolog, various lisps and schemes, SQL, ADA, C++, C, Pascal, various assembly variants, but COBOL was simply unique. I've often wondered what ideas COBOL got right that we could learn from and leverage today in a new language.

I do remember our COBOL mainframes were really fast compared to the SQL Server layers my middle-tier services used, but I also remember looking at it and thinking it would be a giant pain to write (the numbers at the front of every line seemed like tedium that I would probably often get wrong).

Nice! Call for Speakers will be opening this week if you know anybody who may be interested. https://carolina.codes
How did you call COBOL from VB.NET? Was it just a matter of shelling to COBOL and writing out text files that VB.NET consumed, or COM interprocess calls, or what?
You can check with the GnuCOBOL project, It works on Windows,MAC/Linux. Open Source and free. The discussion on the sourceforge page would be a good place to ask! https://sourceforge.net/p/gnucobol/discussion/
The COBOL layer had a TCP server somewhere in it (don’t know the details of that). We simply made TCP calls directly, sending and receiving fixed-sized records.
Ah! Relief. I wouldn't have known how to search for that.
In my experience working with large financial institutions and banks, there is plenty of running COBOL code that is around the average age of HN posters. Where as a lot of different languages code is replaced over time with something better/faster COBOL seems to have a staying power in financial that will ensure it's around a very very long time.
I wasn’t aware of this until that talk, but COBOL essentially being both the logic and the database together makes it very sticky.
What do you assume the average age of HN posters to be?
35-40, though it could be just a bit older as there is no official metric on this.