Used to work with the UK government as a consultant, they also have prehistoric machines running COBOL. Some people make serious £ off it
I did COBOL, Assembler, RPG II (or was it III?) back in '79 when I was just starting out but ended up in Tech Support - I can vaguely read COBOL and work out what’s it’s doing
COBOL is probably the better end of banking. I implies they still have the source code.
I know from a guy that paid off his mortgage doing Y2K for banks, that often they do not have any source and for Y2K resorted to people like him poking the assembler directly.
Sometimes I’m surprised the banking system works at all…
Here’s my take on this.
COBOL was one of the first high level languages. For its time it was (with Fortran) one of the revolutionary ways of using computers.
This was back in the day when computers took up whole rooms and cost the GDP of small countries.
Its main selling point was that it’s a “readable” language, i.e. someone who is not a programmer can read what the programmer wrote.
This makes it business friendly because your boss can obtain an understanding of what the code does without having the same degree as you, the programmer.
As with anything when you’re an early adopter, you get all the problems that come with it. Given that this is the early days of tech one could be forgiven for not knowing about computers.
After all, they were very new, no one had one in their home and at the time if the lights blinked on something, it was considered space age technology.
The earliest adopters were companies that could use computers to make their business more efficient and had the cash to do so. Retail banking, oil companies, NASA*, etc.
For example Reuters still make use of FORTRAN which is another language as old as COBOL.
Most users of COBOL today are in the US simply because that’s where computers got big early though there are some here in the UK.
The only reason to be still using COBOL today is lack of common sense.
A mid-level retail banker that wanted to climb up would say to their boss in the 50s/60s “Hey boss, if we get a computer we can save X amount of money since it will be done all automagically”.
Banks, always having money to throw away on bad ideas and rarely on good ones, usually go for this.
The problem is that the first investment tends to cost a lot to fix later on especially in the case now where a company invested what would now be hundreds of millions to get an “IT” program.
The mistake here from the business point of view is that when other languages come up in the 70s like C or C++ in the 80s they did not upgrade.
Instead the idea was that it would be prohibitive to migrate so the idea is to keep on moving with the baggage.
It’s a classic tale of instead of spending 1M to fix something at once, you spend 100k every year to keep on going.
Bad business practice take pride in saying things like “This year we saved more money than last year because we only hired 95 instead of 100 legacy programmers”.
Legacy programmers on the other hand rub their hands together because their skills are needed by businesses that don’t understand technology and find themselves in a constantly reduced talent pool.
There is more money on maintenance than implementation
I would only let businesses that rely on obsolete languages off on the notion that the models they work on (i.e. oil companies) were programmed in the 60s (i.e. BP) and being that these companies are generally risk averse, don’t want to disrupt their code.
If it’s not broken, don’t fix it.
*NASA is a scientific organization and as such has smart people that did away with obsolete languages. They know what they’re doing.
Following posted by a NASA employee from reddit AMA when asked what programming languages NASA uses:
NASA Employee -1 points 7 months ago
If you really just mean an all-encompassing umbrella then the answer is likely “Every language that exists”. Except maybe COBOL.
I think that the spacecraft that actually used COBOL left the solar system years ago
Not convinced C or C++ is an upgrade! Imagine banks being vulnerable to all of the memory overflow exploits that using C would have created…
Language-level support for decimal arithmetic is fairly important for anything interacting with core banking systems. You do not want to be dealing with floating point ugliness while calculating something like interest earned on an account.
I’ve learned not to hate on older stuff, there’s usually a reason it’s still around.