back to article New research aims to analyze how widespread COBOL is

The Open Mainframe Project's COBOL Working Group is seeking to discover just how much the venerable programming language is still being used in the industry, and it would like your help. Yes, the Common Business-Oriented Language may be over 60 years old, but it is still widely employed and continues to play an active role in …

  1. Pascal Monett Silver badge
    Joke

    "ye ancient code wizards"

    So, dinosaurs will once again roam the Earth ?

    1. b0llchit Silver badge
      Joke

      Re: "ye ancient code wizards"

      Only of they promise to go extinct, again.

    2. jake Silver badge

      Re: "ye ancient code wizards"

      Some of us never left.

      You can thank us every time you review your bank statement and it is correct.

      1. Someone Else Silver badge

        Re: "ye ancient code wizards"

        ...and curse you every time we review our bank statement and find errors?

        Happens more often than we'd like...and that you'd like to admit.

        1. An_Old_Dog Silver badge

          bank statement errors

          No program in the world can accurately correct for humans' data-entry errors.

    3. John G Imrie

      Re: "ye ancient code wizards"

      Life finds a way

  2. b0llchit Silver badge
    Happy

    Code for the win

    PERFORM UNTIL 1 <> 1

    IF using_cobol

    GENERATE billable_hours

    ELSE

    GENERATE billable_hours

    END-IF

    END-PERFORM

    1. Anonymous Coward
      Anonymous Coward

      Re: Code for the win

      far too close to the truth for comfort ...

  3. captain veg Silver badge

    it lives!

    Isn't SQL just COBOL for databases?

    -A.

    1. jake Silver badge

      Re: it lives!

      No.

      1. Captain Hogwash

        Re: it lives!

        Equally unpleasant though.

        1. spireite Silver badge

          Re: it lives!

          SQL is unpleasant? How?

          I make a very good living from it, adn it is hardly unpleasant.

          Now, JS...... that *is* THE definition of unpleasant.

          1. Captain Hogwash

            Re: it lives!

            I'm a C++ guy. I don't like verbiage.

            1. ITMA Silver badge
              Devil

              Re: it lives!

              And COBOL guys tend to not like gibberish being passed off a code.....

              1. ITMA Silver badge

                Re: it lives!

                Unless of coure you are using Jackson...

            2. Anonymous Coward
              Anonymous Coward

              Re: it lives!

              > I'm a C++ guy. I don't like verbiage.

              Is that sarcasm?

              Sorry for asking, but I'm a Schemer.

            3. Anonymous Coward
              Anonymous Coward

              Re: it lives!

              Anyway if God didn't mean us to use C++, why did he give as a shift key and a top row of punctuation characters?

              1. Rabster

                Re: it lives!

                https://imgs.xkcd.com/comics/lisp.jpg

              2. ITMA Silver badge

                Re: it lives!

                Sadism?

          2. TimMaher Silver badge
            Facepalm

            Re: adn

            Error #1066. Unknown keyword or expression.

    2. Martin Gregorie

      Re: it lives!

      The database designed use by for COBOL programs was IDMS(X), not SQL. Technically it was a CODASYL database, but these days we'd call it an 'edge database'. However, SQL got grafted on later via a defined set of standard procedure calls.

      The IDMS/CODASYL approach added two extensions to COBOL:

      - one was a data definition preprocessor which translated the database definition into a set of COBOL subroutines which were compiled like any other COBOL subroutines

      - the other was a language preprocessor, designed explicitly to act as an extension to COBOL. IIRC it didn't add or require any additional data types but, instead it extended COBOL by defining a set of database manipulation verbs. The preprocessor replaced these by sets of standard COBOL statements and subroutine calls when it was run: the resulting output was 100% standard COBOL and so could be compiled by the standard compiler.

      Compiling and then linking the code output by the language preprocessor with that output by the data definition translator produced an executable object that could access and manipulate the database content, but was the result of compiling 100% standard COBOL output by the two preprocessors.

      I thought it all worked well: the DB designer needed to understand the DDL syntax, but the additional knowledge needed by programmers was minimal: just half a dozen extra data access and manipulation verbs which they found easy to code for, because these behaved more or less like any other COBOL data i/o verb.

      SIDE NOTE: I though it was interesting that DEC's initial relational database offering on the VAX did something similar. It didn't implement SQL, instead it used 'database procedures', which were very similar to SQL procedures, though they were separately compiled and linked procedures rather than interpreted code.

      1. Michael Wojcik Silver badge

        Re: it lives!

        IMS (a hierarchical database, as well as a transaction manager) was released 7 years before IDMS. System 2000 (a hash database) was released 3 years before IDMS.

        IDMS (and CODASYL) was certainly important, but it wasn't the first DBMS used extensively with COBOL, nor the first with features designed for use with COBOL.

        These days, a number of COBOL implementations still include database-operation verbs, though they're not part of the standard language. The most prominent is the EXEC SQL macro facility, which of course is SQL, not one of the older database technologies.

    3. rafff

      Re: it lives!

      "Isn't SQL just COBOL for databases?"

      Sort of; [original] SQL is RDBMS for Cobol programmers.

      SQL is a relative late-comer to the RDBMS field. Before it were things like QUEL on Ingres, which I used from around 1981; my QUEL manual is dated 1977. The original SQL was rather lacking in functionality and did not implement the full relational algebra. The lack of functionality was because Cobol programmers generally did not understand things like data types and recursion. (CS courses at university were a very new thing at the time.)

      With the passage of years, SQL has become more capable, but also more baroque. No two vendors implement the same syntax, and where they do overlap they frequently have different semantics. This lack of standardisation in both Cobol and SQL has paid my wages for a good may years ;-)

      1. I Am Spartacus
        Childcatcher

        Quel

        I liked Quel. I used it in in 1977-18 era. I even, at one point, had a copy of the original Ingres source code!

        GeoQuel, the geographical version of quel, was weigh before its time.

        1. that one in the corner Silver badge

          Re: Quel

          > GeoQuel, the geographical version of quel, was weigh before its time

          Heavy, man, heavy.

      2. Neil 44

        Re: it lives!

        To be fair to MicroFocus' Cobol, it could be configured at compile/run time to support a number of different dialects - in some of which the syntax of verbs were different!

        1. Michael Wojcik Silver badge

          Re: it lives!

          And still can be. There are currently 19 possible values for the DIALECT compiler option. And then there a number of compiler options which tweak compilation and runtime for various aspects of compatibility, such as character set and fine details of how numeric types behave and other aspects of the language left to the implementation – including how recursive PERFORMs behave, for example.

          (It's "Micro Focus". Two words.)

    4. Anonymous Coward
      Anonymous Coward

      Re: it lives!

      > Isn't SQL just COBOL for databases?

      As already mentioned, nope.

      What they do have in common is that the designers of both COBOL and SQL had a requirement to "make it appealing to non programmers" (or words to that effect) by making it passingly similar to normal English prose.

      Very passingly, I would say fleetingly, similar, mind. But someone sometime somewhere must have thought that was a good idea.

  4. bazza Silver badge

    Fun Thing With Which to Tease Colleagues With

    Have some code running up in some cloud somewhere, hiding a vital module written in Cobol.

  5. Anonymous Coward
    Anonymous Coward

    Just saw off the last little nugget of COBOL lurking in one of our 25 year old systems only 6 months ago! It was fight to pry it out of the user's hands until we handed them something with a sticker on it that read "Runs in the cloud!" and the PHB's couldn't dump the old system fast enough!

    1. DJV Silver badge

      And next year you will probably find something essential it did that only needs running at every financial year-end but, without it, your company cannot close down the year's accounts. :)

  6. Anonymous Coward
    Anonymous Coward

    Completely Obsolete Boring Old Language

    I started with Basic and Assembler. Then I went to Uni and got taught Pascal.

    When I left Uni, all the best IT jobs wanted experience in C++, so my first job ended up at a bank writing IBM mainframe COBOL.

    After hating COBOL for a couple of years I began to appreciate that it was actually pretty much the perfect language for our application. Yes, it's boring, but business processes are similarly boring.

    If you can write nice clear simple code, you can't really go wrong (although somehow a lot of people managed to do it very wrong). It's remarkably easy to write a piece of code and have it work perfectly first time. Most of the problems came from people trying to be clever and introducing unnecessary complexity.

    1. Version 1.0 Silver badge

      Re: Completely Obsolete Boring Old Language

      If COBOL had not been created back in those days and it was created today, then everyone would be running around saying that it's such an easy to use language ... so much easier to use than Rust in the banking world.

      Created these days it would be our Cloud Organized Business Oriented Language.

      1. ComputerSays_noAbsolutelyNo Silver badge

        Re: Completely Obsolete Boring Old Language

        Cloud Organized Business Oriented Language

        ... in which you have to have a subscription to use certain data types.

        So, with the Cloud Organized Business Oriented Language Basic package you can use int and char,

        but if you upgrade to Cloud Organized Business Oriented Language Professional you get to use float and string.

        Isn't that a great deal?!

        1. that one in the corner Silver badge

          Re: Completely Obsolete Boring Old Language

          Using float for business? Here, just dump your fractional pennies into this "wastebin" account, I'll get rid of them for you; no, no bother at all, happy to help your account printouts look neat.

    2. Someone Else Silver badge

      Re: Completely Obsolete Boring Old Language

      If you can write nice clear simple code, you can't really go wrong [...]

      I believe you. But: You can still write FORTRAN in any language. Even COBOL.

      1. Michael Wojcik Silver badge

        Re: Completely Obsolete Boring Old Language

        Oh, definitely. As OP wrote, many people do manage to get COBOL very, very wrong.

        There are certainly historical infelicities in COBOL. Separating declarations from procedural code turns out to have been a Bad Idea, for example. (In MF Managed COBOL, you have the declare verb, which lets you do point-of-use declarations, as well as things like type inference; it makes the code so much more readable.) Lack of parameterized paragraphs/sections is definitely unfortunate; you can write every routine as a separate "program" (callable procedure), but pretty much no one does. COBOL-85's scope terminators (END-IF, etc) are a huge improvement over pre-85 sentences, but older code and a lot of newer code doesn't use them.

        But the main problem I see with most of the COBOL I look at is that the programmers just didn't much care about readability or maintainability. And that's true for the code I see in pretty much every language. When you're working with a highly-expressive language with a lot of syntactic sugar – OCaml, say (or F#, which is basically fancy OCaml for .NET), or Scheme, or even Javascript – there's really no excuse for not writing highly readable code. But if what I've seen over the past few decades is representative, most people don't.

    3. that one in the corner Silver badge

      Re: Completely Obsolete Boring Old Language

      > people trying to be clever and introducing unnecessary complexity.

      A bit too fond of the old ALTER statement?

  7. disgruntled yank

    Open Mainframe Project

    I have to love the name: Richard Stallman in a 1960s IBM salesman's suit.

  8. cdilla

    IDENTIFICATION DIVISION.

    PROGRAM-ID. TUATLTUAE.

    AUTHOR. DNA.

    PROCEDURE DIVISION.

    DISPLAY "Forty Two".

    STOP RUN.

    Remembering happy days trying to get HHGTTG references in my code sheets past my System Analyst. I suspect there are still some accountancy programs acredited to Zaphod Beeblebrox lubricating various government systems around the world.

    1. Neil 44

      The first 3 lines and the last were all optional!

    2. Dave559

      If memory serves me right, the commenting system on the BBC News website (some part of the BBC's web sprawl, anyway) had 'dna' as a segment of its URL paths, for exactly the same reason…?

  9. Lil Endian
    Boffin

    Time to brush up on Jackson Structured Programming then.

    Now, where's that copy of Principles of Program Design?

    *achoo*

    1. Anonymous Coward
      Anonymous Coward

      It was so confusing, back in the day, when there were two famous Michael Jacksons, the one who wrote about structured programming and the one who wrote about beer.

    2. Anonymous Coward
      Anonymous Coward

      I think mines on my desk upstairs alongside the introduction to relational databases

  10. martinusher Silver badge

    English is a boring old language that's a still widely used...

    ... (and its a lot older than COBOL)

    We get so carried away with our Languages du Jour that we forget that COBOL is a way of automating already documented business processes. These processes might have already been partially automated using eletromechanical tabulators and sorters. It does this job brilliantly which is why it has endured for so long.

    There's lots of things I wouldn't dare try to express in COBOL but then its straightforward to interconnect programs and processes. "Horses for Courses"

    IMO there's a name for a computer language that tries to do everything for everyone. Its called "A Mess".

  11. _olli

    Java is future COBOL

    I have a colleague in his mid-40's whose retirement plan is to become a Java-grandpa like these COBOL-grandpas, so that his retirement days in 2040's will every once in a while get interrupted by invitations to work against a three-figure hourly wage when some big corporation needs to change anything in their enterprise Java software systems that these modern javascript kiddies can't just comprehend.

    1. sarusa Silver badge
      Thumb Up

      Re: Java is future COBOL

      Java is already the new COBOL. They're both overly verbose languages designed so that legions of barely competent corporate code drones* can work on code without shooting each other's feet too much. As such, giant corporations have invested so much money in it Java that it'll still be clunking along decades from now (and a lot of 'newer' languages run on the JVM) - I think your colleague has an excellent plan.

      * There are some awesomely skilled COBOL and Java programmers - but they are not the target market.

      1. Ken G Silver badge
        Happy

        Re: Java is future COBOL

        I understand what you're saying but allowing large numbers of coders to work together without screwing everything up is neither trivial nor easy.

        For every awesomely skilled programmer there are 10 average ones and 15 below average ones to make the maths work out.

        1. Rabster

          Re: Java is future COBOL

          Having worked with big teams and small expert teams I enthusiastically recommend this and feeding to managers repeatedly

          https://blog.acolyer.org/2015/11/11/the-o-ring-theory-of-devops/

  12. Sly Curmudgeon

    Re: Re: it lives!

    @Martin Gregorie

    So, CPP then?

  13. volsano

    PICs rule

    COBOL's great strength is its ability to model number fields exactly how you want them. Need something that can go from 0 to 9999.9999999 (but not negative)? Easy with the right PIC clause. No slumming it with inaccurate Floats, or bignum integer work-arounds.

    That strength alone (and yes, COBOL has many weaknesses) has kept it a contender in the financial arena.

    1. Anonymous Coward
      Anonymous Coward

      Re: PICs rule

      That's "fixed decimal(11,7)" in PL/1 isn't it? I never understood why people still used COBOL when PL/1 was available. For simple data processing jobs, there was SAS, which was itself written in PL/1.

      1. Lil Endian
        Joke

        Re: PICs rule

        Well, a tad pretentious of IBM calling their baby Programming Language One! It's a bit on the nose innit?

      2. Rabster

        Re: PICs rule

        Having gone from a PL/I (and PL/X) shop to one with COBOL, I absolutely hate the restrictions the Linkage Section imposes on MVS/zOS. An address is an address.

      3. Michael Wojcik Silver badge

        Re: PICs rule

        COBOL was more widely available, so there was more existing code and more developers who knew it, so shops preferred COBOL. It's the same positive feedback that we see with many other programming languages (and many things unrelated to programming).

        Our current COBOL and PL/I offerings have many of the same features and play together nicely, but the COBOL business is considerably larger than the PL/I business. There's simply less PL/I out there.

        Also, COBOL edited-numeric picture clauses go beyond what PL/I will do for you, though how much effect that actually has on language productivity remains to be shown. There are plenty of ways to do fancy numeric output.

    2. Martin Gregorie

      Re: PICs rule

      As far as I know, there is no other mainstream computer language than COBOL that can do the equivalent of the following rather, commonly used, numeric formatting:

      77 ACCOUNT-BALANCE ZZZ,ZZZ,ZZ9.99DB BLANK WHEN ZERO COMP SYNC.

      as a single variable declaration, or, for that matter, in any readable single line of code.

      1. Lil Endian
        Thumb Up

        Re: PICs rule

        Yeah, pictures... fantastic!

        The more I'm thinking about the more I want to take a pencil to sheets of paper organised into 80 columns! (Which, possibly sadly to some, I know I have in the proverbial attic!)

        A few years ago I considered revisiting COBOL for legacy systems, hmmm! That, and Clipper, a language I like a lot, with lots of lines out there - not to COBOL levels obviously, tho!

        1. dboyes

          Re: PICs rule

          The COBOL 90 spec relaxes the line length and column location restriction to allow freeform code, so most of the current compilers no longer require the 80 column restrictions.

          To me, what's interesting is the attention paid to backward compatibility -- programs written to COBOL 66 standards still compile and work correctly in 2022 WITHOUT change. Ain't broke, don't fix it.

          It's also interesting that HBCU's (historically black colleges and universities) are investing heavily in teaching this tech to students -- guaranteed jobs for their grads.

          1. Lil Endian

            Re: PICs rule

            Thanks for the info regarding column locations, I've not looked at COBOL for a long time. Makes me sad though, because I'm a total advocate for code indentation! (Yay Python!)

            I guess HBCUs are a US thing? And further guess that you're implying that those excluded due to ethnicity now may, in the future, be included in greater proportions due to this training. This makes me even sadder, due to the necessity for the approach, not the inclusivity. Talent/ability > ethnicity/gender.

      2. John H Woods

        Re: PICs rule

        True, but with the caveat that, given the appropriate class definition, any OO language can.

        “Smalltalk“

        accountBalance := AccountBalance new.

        //Java:

        AccountBalance accountBalance = new AccountBalance();

        And, having written that, I suddenly remember why, as a Smalltalk devotee, I find it easier to understand why one could be a COBOL aficionado than Java zealot ;-)

        1. This post has been deleted by its author

          1. This post has been deleted by its author

        2. Lil Endian

          Re: PICs rule

          Okay. Now demonstrate the same in a readable line, ie. within the class definition.

          The line Martin demonstrated is the definition, not the instantiation. That was the point I think.

          [NB. above posts deleted because of clarity failure!]

          1. John H Woods

            Re: PICs rule

            I hear what you're saying but you can make it as readable as you like, eg.

            "Smalltalk"

            accountBalance := (AccountBalance format: 'zzz,zzz,zzz.zzdb'); showBlankIfZero; beTwosComplement

            //Java

            AccountBalance accountBalance = new AccountBalance("zzz,zzz,zzz.zzdb").blankIfZero(true).twosComplement(true).

            This is the thing about OO languages, you aren't limited to only instantiating the objects the language designers gave you.

            1. Lil Endian
              Pint

              Re: PICs rule

              Okie-dokie ~

              I don't think these examples are the same as the COBOL, as now we're into variable scope (global/local), ie. you're instantiating rather than "just" declaring (unless I'm reading that incorrectly). I'm not going to disagree that different languages can achieve the same results in different ways.

              I stand by the nested title: PICs rule!

              This is the thing about OO languages, you aren't limited to only instantiating the objects the language designers gave you.

              That made me laugh, thanks for the pro tip :) And well worth one on me --->

              o7

  14. raving angry loony

    The more I deal with the current crop of languages and design "methodologies" (not that they're called that any more), the more I miss Cobol and PL/1, as well as coding standards that encouraged more reliable coding instead of "quick but broken" coding.

    1. Martin Gregorie

      Here's another ancient source of design wisdom:

      "Design of Man-Computer Dialogues" written James Martin in 1973

      IME this is an undeservedly lost gem.

      Its analyses of various ways a user can interact with a device and the way these map onto both the dialogue style and, equally important, the type of task the user needs to perform would make a huge usability improvement if the current crop of user interface designers had ever read it - or heard of it, for that matter.

      1. Lil Endian
        Go

        HCI

        I could not agree with you more, Martin.

        I have always found HCI to be a fascinating field, and one that any programmer would benefit from having some familiarity in.

        1. that one in the corner Silver badge

          Re: HCI

          Absolutely. I'll take HCI over UX any day.

          1. Lil Endian
            Thumb Up

            Re: HCI

            Absitively posolutely!

  15. StargateSg7

    My recently retired 60-something year old friend in Toronto's IT world is a multi-millionaire because of COBOL and FORTRAN! He has been hired numerous times over the last 40 years to revise, convert, update and extend all those IBM AS-400 and IBM mainframe financial processing systems. Starting out in accounting systems in Calgary, Canada during the 1980's after graduating from a highly-regarded local institute of technology where all that Oil'n'Gas Industry COBOL and FORTRAN programming they learned in college led to a VERY LUCRATIVE PROGRAMMING CAREER!

    Once he was recruited by various Toronto, New York, Los Angeles, Chicago and London finance firms to upgrade all those COBOL programs because of the Year 2000 2-digit date bug, he was earning over half-a-million USD per year from 1993 to about 2001 on simple remote work contracts! And when IBM starting killing off the AS-400 minicomputer systems, he got hired for just as much money (and more!) for converting COBOL to JAVA code and IBM WEBsphere interfaces. Now, because of Open Source COBOL compilers, some older COBOL finance programs and FORTRAN trading programs are being moved from AS-400 and Mainframe code to Linux super-workstations and power-servers without conversion to JAVA but rather simple extension of old back-end COBOL/FORTRAN code mated to an HTML-5 web browser user interface. That lasted until this Spring 2022 when he finally had enough of remote working and decided to officially retire and travel! He has BOTH a lucrative US 401k and Canadian RRSP pension plan income which will see him, his wife and his now grown children very comfortably numb until the end of his days!

    I should note that his COBOL and FORTRAN knowledge was so lucrative that he now OWNS free-and-clear multiple houses and apartments in Naples, Oslo, Toronto, Vancouver and Paris where he follows the temperate not-too-hot and not-too-cold weather as he desires for the entire year!

    Both COBOL and FORTRAN can be VERY lucrative if you have experience in conversions to JAVA and HTML-5 interfaces or extending old back-end COBOL and FORTRAN code to run on modern Linux servers with web browser front-ends! Typical salaries are $150,000 USD to as much as $500,000+ USD depending on how desperate the bank or investment firm is! If you want a less stressful working life, many U.S. and European cities are also STILL converting old 1970's and 1980's-era COBOL administrative systems and FORTRAN-based engineering works code to newer JAVA and Windows/Linux systems so they offer usually around $65,000 USD to $125,000 USD per year with benefits and family-friendly working hours! The smaller cities and towns offer less money than the larger cities but your work hours and family life will be much better.

    I would say there is STILL at least 20 years worth of COBOL and FORTRAN conversion work that still needs to be done due to the sheer number of cities, towns and financial systems that are STILL in the Year 2022 using older COBOL and FORTRAN code!

    Sooooooo, for your new IT students and recent grads, learn how to code in COBOL, FORTRAN, JAVA and HTML-5 to get the lucrative many-times-remote-from-work programming that can make you a multimillionaire in less than 25 years! And in 25 years when all that COBOL/FORTRAN to JAVA/HTML-5 code conversion work is done, you can then use your new-found RUST and/or RUBY-on-RAILS skills so that all that older JAVA code can now be converted to a more memory-and-type-safe language which will take another 25 years to complete! What a lucrative long-term world-traveling and/or work-from-home IT career you will then have!

    V

    1. TheMeerkat Silver badge

      The problem for the young people learning COBOL is that every job posting requires minimum 20 years of experience, making Java or JS a safer bet.

      1. Lil Endian

        If no new comers learn COBOL, eventually there'll be none with 20+ years of experience. Then...?

        1. jake Silver badge

          Newcomers ARE learning COBOL. I've been tutoring several every year for decades. I can't possibly be the only one left.

          1. dboyes

            Me too.

            Me as well. I have about 150 students currently, in multiple sections, and recently taught a structured programming course for the first time in decades. Their comment on the course were "why didn't someone teach us this before? this is the easiest way to write understandable code I've ever seen".

            1. Stork

              Re: Me too.

              My son had some spare time and is doing one of IBMs online courses. He’s 23

      2. jake Silver badge

        All you have to do is point out all the Rust job ads that require 20 years experience, or all the Windows 10 job ads that require 10 or 15 years experience, and then explain to them that HR years and human years are completely different beasts.

    2. Ken G Silver badge
      Thumb Up

      I saw a few years ago in Ireland that (I think with IBM support) Technical Colleges were offering COBOL and zOS courses. It's definitely the smart move for anyone with ability and interest in computers. The number of working age COBOL programmers is dropping faster than the number of working COBOL programmes.

    3. Michael Wojcik Silver badge

      when IBM starting killing off the AS-400 minicomputer systems

      Wrong universe. Here the AS/400 was simply renamed System i, and then just "i". It's still around.

  16. Anonymous Coward
    Anonymous Coward

    I somewhat doubt that all orgs with the stuff still around fully know the extent of how deep it runs...

    In a prior life with a certain defunct bank, the meaty back end was hosted on lovely S/390 big iron with a mix mostly of COBOL and Fortran. And the list of people that knew their way around it was small, back in 2006.

    Such knowledge has value, occassionally.

    1. Michael Wojcik Silver badge

      Many do not, which is why application portfolio analysis and application lifecycle management tools for the mainframe are popular. (Though not as popular as they should be, in my experience.)

  17. Bartholomew
    Coat

    Only cobol programing joke I know (I am sorry in advance)

    And the worst joke ever is:

    Q: Why do female programmers hate COBOL ?

    A: Period missing. Period assumed.

    Background that you need to understand (yea I know, always bad when a joke needs an explanation), the most common warning message for all new COBOL programmers is:

    COBCH1014 Period missing. Period assumed (You have omitted a period in a place where one is expected by the rules of COBOL syntax. Your COBOL system has assumed the period is present.)

    And do not get me wrong I think COBOL is bloody fantastic, it has been about since 1959. I always think about the late "Grace Hopper" when I hear COBOL and smile. She was very influential in the creation of COBOL, was such a fundamental person in history of computers and she always made me smile when I heard her talk.

    1. Lil Endian

      Grace Hopper

      She had a mind beyond boundaries, such a dry wit, and a way of talking to a room that grabbed attention. RIP.

      ["COBOL is bloody fantastic" - seriously? After that joke!?]

      1. dboyes

        Re: Grace Hopper

        There are YouTube videos of some of. her talks. Brilliant.

        I still have a nanosecond that she handed out at one of her talks.

  18. Winkypop Silver badge
    Happy

    Ahhh COBOL

    Got me started in IT.

    I owe it a debt of gratitude.

    Love

  19. John H Woods

    I'd love to take the piss...

    ... but my own favorite language is Smalltalk, so carry on COBOLers.

    Any truth to the rumor of the OO COBOL "ADD 1 TO COBOL GIVING COBOL" ...?

    1. dboyes

      Re: I'd love to take the piss...

      OO COBOL exists and is well-documented. The COBOL 90 standard explicitly extends the language to permit object oriented code and syntax.

      The current IBM, HP and Microfocus compilers all support it.

      1. Michael Wojcik Silver badge

        Re: I'd love to take the piss...

        To be fair, Micro Focus (two words) COBOL supports a subset of ISO OO COBOL. It doesn't get a lot of use. Our managed OO COBOL (for CLR and JVM) is a lot nicer to work with.

  20. Anonymous Coward
    Anonymous Coward

    Micro Focus

    I remember going for an interview with MicroFocus for my 3rd year placement job at the tail end of the 80s. In the interview they asked my what language would I use to write the COBOL compiler in and I said stuff like C etc and why.

    Their response?

    Why wouldn't you use COBOL to write the compiler? That threw me, and I can't remember what I said in response but I didn't get the placement. Not sure if they still use COBOL to write their COBOL compiler (I assumed from the question that they did) but that seems like an exercise in masochism to me.

    1. jake Silver badge

      Re: Micro Focus

      At the end of the '80s, Micro Focus Workbench was written in COBOL ... but their COBOL compiler was written in C. They were probably looking for an answer along the lines of "because COBOL is not self hosting".

      Not entirely true, but close enough for government work ...

    2. Michael Wojcik Silver badge

      Re: Micro Focus

      I could tell you, but I'd have to hire you first.

  21. dboyes

    Nothing "old" here

    At times, I really start to resent the Reg "ancient tech" labeling of older technology that does exactly what it's supposed to do. COBOL is (IMHO) the first example of a domain-specific programming language, and for the problems it was designed for, there is no better choice. Admiral Hopper herself put it perfectly: "If people are going to describe their problems in English, the computer should be taught to understand English."

    Don't knock it if you haven't used it. You can learn COBOL in less than a day, and it works. Is it good at everything? No. Does it allow business people to express problems in language they can understand and end up with workable code. Absolutely. Is it on every useful platform known to man? Yes. Not many things can say that.

  22. WS1O
    Happy

    Groveling over the ancient runes...

    We still have a few ye olde Cobol geeques hanging out at our company, keeping one tired old system alive and gasping...

  23. nautica Silver badge
    Headmaster

    The grammatical equivalent of quantun mechanics' 'wave-particle duality'?

    From the sub-title--

    "Stand up and be counted, ye ancient code wizards"

    How does one know if the person responding to the imperative has interpreted it as

    Stand up and be counted, ye ancient-code wizards

    or, rather, to the completely different

    Stand up and be counted, ye ancient code-wizards ?

  24. Anonymous Coward
    Anonymous Coward

    Isn't SAS 54 years old ?

    COBOL is still a good tool for many things .

    It cam generate and parse XML and JASON

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like