Oh dear Telegraph

The Institute of Electrical and Electronics Engineers said last month that Cobol was just the 42nd most popular programming language in the world, down from 36th last year. Programmers have been wondering for several years when we will reach the point when everyone who still knows how to fix Cobol has retired.
One City recruiter said the banks “tend to have a couple of old guys to answer these questions when they come in. They are very reluctant to let these guys retire”.
Lev Lesokhin at CAST agreed, saying that “a lot of the more experienced guys who know how to programme Cobol are absolutely in demand “.

Don’t these people have editors?

28 thoughts on “Oh dear Telegraph”

  1. Bloke no Longer in Austria

    Peak COBOL

    I can largely attest to this, my late missus programmed in COBOL and was the last one with a few other computing skills too.

  2. program/programme, or lack of capitalisation of COBOL?

    I’d also add that this “people who still know COBOL” is bollocks. It’s just not how things work. You can train a programmer to write COBOL in a few weeks, because we were doing that in the mid-90s. It’s a bit of an oddball language.

    The real problem is people with deep experience of the banking systems. The longer you work on a system, the more it gets under your skin. It’s like playing a piece of music. At first, you need to look at the score. The hundredth time, you’re hardly looking at it. That means you get quite dramatic reductions in bug fixing times, literally down from 12 hours to 20 minutes sometime. And this is a problem with any software.

  3. Wot Tim says. Any programmer could learn COBOL in a couple of weeks. It’s the underlying systems, not the language.

    environment division
    configuration section

    move corresponding input_rec to output_rec.

    Gosh, i can still remember a bit of it. Gissa job.

  4. Bloke no Longer in Austria

    Problem is Tim ( Almond) is that companies don’t train people any more.
    If one wants COBOL developers they are expected to spring fully formed like Apollo out of Zeus’ lughole ( or something)

    Ergo there aren’t any, because no one is being trained. Besides, it does boring stuff, you can’t write apps to make fish swim across your iPhone in COBOL.

  5. Agreed, it doesn’t take long to learn to write almost any programming language. That it’s learning the system (business logic and architecture) that creates the proficient devs.

    I’d add, though, that it’s not just lack of (cross-)training. It’s that the language isn’t going anywhere, it’s on life-support waiting for someone to decide to pull the plug.

    It’s not something you want to get into, unless you had to. It’ll be interesting to see how the banks keep bums on seats. I say that as a guy still writing HLASM more often than I’d like.

  6. So Much For Subtlety

    Bloke no Longer in Austria – “I can largely attest to this, my late missus programmed in COBOL and was the last one with a few other computing skills too.”

    To link to another thread, perhaps this is a gender thing? Perhaps it is only hard to find men who can programme in COBOL? After all, you know, your missus – a woman, right? It was invented by a woman if I remember right. That’s two data points. One more and that’s a clinching argument in the world of the social sciences.

    Although I have no idea what will happen when the last guy able to programme in FORTRAN 66 retires. Maybe that is why the Met Office’s models are so wrong.

  7. SMFS – COBOL was indeed invented by a woman, and a lady sailor at that – Lt Grace Hopper, USN (she was also an IBM Fellow but that’s beside the point). She retired as an Admiral and she’s the only programmer in the world to have had a warship named after her – “USS Grace Hopper” – IIRC a destroyer.

    Academia has always had a downer on COBOL, probably because it had the temerity to have been invented by a non-academic! 🙂

  8. There’s also a “less/fewer” error in the article.

    The Inland Revenue attempted to train me in COBOL back in the 80s, but I failed the course.

  9. NielsR,

    “I’d add, though, that it’s not just lack of (cross-)training. It’s that the language isn’t going anywhere, it’s on life-support waiting for someone to decide to pull the plug.”

    There are people doing COBOL in India, just because it’s really good money.

    But yes, most experienced developers don’t want to be stranded. You don’t want to be doing something that only a few companies use.

  10. COBOL’s a piece of piss — which, of course, it was intended to be. I used to work in ACUCOBOL, which is COBOL in a modern VB-like coding environment, and is rather good.

  11. Tim, doesn’t surprise me in the least. Feels awfully like can-kicking, though, so it’ll be interesting (and possibly painful) to find out how that shakes out. Whether we run out of devs to outsource to before or after it looks sufficiently safe and cheap to reverse-engineer into another language. Or whether the bit-rot goes gangrenous first.

    Guess a lot depends on how proprietary the codebase is. If every bank is running it’s own code it’ll be a mess until someone can work out a platform/framework to replace a bunch of them. If there’s already a banking system vendor (or at least some timesharing deals with the big boys), the odds are a bit more in society’s favour.

  12. Bloke no Longer in Austria

    Frederick

    I just remembered a relevant conversation along these lines.
    Many years ago, I went for an interview at Teh Grauniad.

    We were talking about JAVA and I said that I was a hopeless programmer but I was pretty useful at diagnosing errors and that typically developers didn’t like some smart-arse telling them where they had gone wrong.
    Chap asked me what tools I used.
    “Well, vi, of course. Split a file, quick scan with grep and zero in on the root cause. Using programs like eclipse is completely gay.”
    He didn’t believe me.
    Not sure the “gay” line went down to well either.

  13. Over my career I’ve written code in over a dozen languages, not including COBOL thank goodness. I couldn’t get over how *wordy* it was! With some experiencve of one or two other languages it should be easy enough to hack on existing code with the aid of a language reference manual though.

    @Machiavelli: GEORGE (III) – that takes me back! Working with 300 baud thermal printer terminals on dialup to a remote ICL system, then getting them to send updated code listings overnight via Datapost. We found two different ways of killing the OS. The sysadmins asked us not to try again…

    Compiling old dialects of FORTRAN shouldn’t really be a problem. I had to do that just recently for a little project I’m working on & only needed to change the name of one builtin function, plus ignoring a lot of warnings about Hollerith constants!

  14. ZT: No, sorry, the great Hopper died back in ’92, quite a bit before this blog you mention was created. Presumably just named in honor of, etc.

  15. It’s worth recycling an old joke here.

    It’s 1999, and an elderly COBOL programmer is making vast wodges of wonga working on millennium bug fixes all over the world. He gets tired and bored of this, and having no desire to see in the millennium, with all its bugs, spends his money on being cryogenically frozen, with strict instructions to be revived only in 2001.

    On 31 December 1999 he has a soothing cup of vodka and climbs into his cryogenic preserver. Moments later, from his perspective, he wakes up. Bleary eyed he looks around at a pristine chrome-clad (some fashions never change) room, in the middle of which is a bank of blinking multi-coloured lights on a console.

    A bald humanoid with a pointed head and prominent ears addresses him through a babelfish:

    “Greetings, historical humanoid. And welcome to your future. As you requested you were not to be revived until 2001. Unfortunately there was a problem with the programming of your cryogenic receptacle and it has taken us a little longer than expected to fix it. The problem was so great that it was decided to preserve you as a specimen in the Smithsonian museum. Given the delay, your money run out, and the Smithsonian was also unable to pay your preservation fees, thus you are now the property of the Galacticman Sachs Deathstar Bank, owner of the entire universe, whose offices you now find themselves in. It is time to pay your debts.

    Galacticman Sachs is a forgiving institution, and we have a problem. We will gladly waive the outstanding fees if you can solve it.

    Our problem is that it is now the year 199 999, and we can’t find anyone who knows COBOL.”

  16. literally down from 12 hours to 20 minutes sometime. And this is a problem with any software

    12 hours down to 20 minutes is nothing. It can easily be a week down to 5 minutes. If you know the system it might be simple database update, and no need to test as you know its correct. If you don’t know, then you might be 3 days getting the dev / (test) environment to work, only to find out that that’s the wrong environment …. etc etc etc – 5 minute job takes two weeks.

  17. Bloke in Costa Rica

    We were just having a chat at work about languages that have fallen out of favour. I never used COBOL, but I have used ALGOL 68 and Prolog among others. I’m one of the few people I know who’s ever written anything in Modula 2 or Forth. I occasionally have to bust out some LISP when I need to do a hack in emacs (still the best code editor in Linux if you have an auto-complete package installed). And now we’re having serious conversations about moving a lot of our code to Go or Rust. The cycle of life goes on, hakuna matata and all that.

  18. isn’t the problem here that you need to know what a system/programme is supposed to do before you can work on it? TBH isn’t the money in working out what should be happening, which I think most experienced programmers are able to do, regardless of the language employed. Then the problem is to fix it, which involves a language specialist?

  19. Bloke in Costa Rica

    Reading someone else’s code is very, very difficult. Consider also that your own code from six months ago is someone else’s code, unless you have documented it to buggery.

    When it comes to programming languages, syntax is easy and semantics are hard.

  20. Programmer die-off is starting to become a problem in many areas. We recently replaced an old system from the 80s with a brand new one, based on the same documented design as the old system, and… guess what? The old one didn’t actually work the way it was documented. And, of course, everyone who built it, and actually knows how it really worked, retired or moved on years ago.

    We’ve probably figured out how they actually implemented the design, but no-one can tell us for sure. It’s all trial and error to get to the point where it can talk to their customers’ systems without anything going horribly wrong (and even their customers don’t really know how their systems talk to ours… their guys have gone, too).

  21. Edward M Grant,

    “We recently replaced an old system from the 80s with a brand new one, based on the same documented design as the old system, and… guess what? The old one didn’t actually work the way it was documented.”

    The only good documentation of what a system does is the source code. In 25 years, I’ve worked on one system in one company where the spec matched the code and that was rigorously enforced.

    Get someone to convert the source code as it stands into a specification.

  22. I was part of the last graduate intake to be taught MVS Assembler. After the course, I got paired with an experienced guy who taught me more in a month than I’d learnt on my entire degree course.

    When I started running teams, l kept the old lag / junior Dev combo, even though the languages changed.

    Nowadays all the grads want to be BAs, the experienced guys are being made redundant or pensioned off and all the developers with fantastic degrees are in India and have nobody to learn how to really code from, or to teach them how the system *really* works.

  23. @ BiCR
    When I was young I translated a programme into ALGOL 60 in order to run it on the new computer the company had just bought, but I gave up programming in 1966 so I never learned ALGOL 68.

  24. ZT/enoriverbend – indeed, blog in honour rather than in person. Not worthy to polish her telephone cable lengths. (Though I still can’t be doing with COBOL).

Leave a Reply

Your email address will not be published. Required fields are marked *