back to article Cobol hits fifty

Cobol, the venerable computer language so beloved of Y2K-fearing businesses, has hit 50 years young today, having been invented on the 28th of May 1959 at a meeting of the Short Range Committee at the Pentagon. The news comes from Cobol specialists Micro Focus, which tells us that there are two hundred times as many Cobol …


This topic is closed for new posts.
  1. Neil


    I remember in 1999 we were set to start our second year of computer science at college. The C programming tutor had some kind of breakdown leaving us with a void in the curriculum. The solution? We all had to learn Cobol for a year instead. It really wasn't the progression from Pascal we were hoping for, and I'm glad to say I have never had to deal with it ever since then!

    Happy birthday Cobol.

  2. Richard Porter

    Alter Cobol to proceed to History

    I remember back in 1969 I was sent on a two week course to learn Cobol, and had to pick up 1900 Plan from the teach-yourself books. It should have been the other way around. I can also remember inserting an Alter statement just for the hell of it, but I did comment it very thoroughly at both points.

    Pascal? Forget it. I never liked working in a straight jacket.

  3. Anonymous Coward


    And I thought was a welsh language soap.

  4. Greg

    Ah, COBOL

    I'm one of those odd people that's quite fond of it. :-)

    Happy Birthday, COBOL. The only programming language I know that's twice as old as I am.

  5. Anonymous Coward
    Gates Halo

    Bad Memories

    I had to learn Cobol over 10 years ago as part of my software engineering degree and it was a nightmare. We were using dumb unix terminals and VI editor to write to code. Trying to debug your code was a horible experience. Thankfully the following year we moved onto Visual C++ with interactive debugging. Joy joy!

  6. Mark Wills

    Put down?

    Hmmm.... Not sure about that el reg. I mean, you did mention in your article that the language 'just works'. That's exactly the reason that it's still here.

    If it aint broke, don't fix it!

  7. The Douros
    IT Angle

    And, as everyone knows...

    A system without Cobol and Fortran is like a chocolate cake without ketchup and mustard.

    (in other words: quite alright, really).

  8. Dave Bareham

    And I remember,,,

    ,,,,getting 100's of errors just because I could never spell "Environment Division" correctly!

  9. Tim Brown

    y2k fearing indeed

    My first proper job after leaving University was converting a banking back office system written in COBOL to use four-digit dates. It was a nightmare!

    I remember it ran on a set of RANK-XEROX Sigma 9s (rumour had it that NASA had used these machines to help get man to the moon) and crashed all the time. I know cos I used to get woken in the middle of the night to get it running again.

  10. Anonymous Coward
    Anonymous Coward

    Committee ...

    That should be the "Short Range Committee" not the Sort Range Committee.

    And yes, COBOL is a fine example of a computer language the "just works" and which doesn't display the mangled estuary syntax of today's languages.

    Happy birthday, old thing.

  11. Geoff Mackenzie

    2022 is my red-letter year

    Long live C! Often imitated, never equalled, only occasionally accidentally assigned.

    Also, saying a programming language "just works" is a little silly - even Intercal "just works."

  12. Neil

    @ Richard

    Nor did I lol, but the natural progression would have been C or some OoP based language, not Cobol!

  13. Anonymous Coward


    So was that:

    void curriculum ()


    return NULL;




  14. Andy

    Not Dead Yet

    Anyone want to bet whether it will still be being used in another fifty years?

    I have a nasty feeling that the answer will be "yes".

  15. Edward Miles

    BURN IT!


  16. Matt


    Loads of systems work on it which seems to indicate that the problem in 99.9% of projects is not the technology, rather the management :-)

    As for the guy who couldn't debug it, I think you need to find another career mate. It really wasn't very difficult.

  17. Karim Bourouba

    Roll on Cobol.NET!!

    And why not!

  18. JimC

    > couldn't debug

    Having said that I do remember the transition from Cobol on VAX/VMS at college, in which the compiler produced reasonably helpful error messages about what might be wrong with your syntax, to that on the Sperry mainframe my first employer had, which produced meaningless garbage about what the contents of what some register might be, and which was absolutely and completely useless for any practical purpose...

    The language always struck me as pretty reasonable if a tad verbose: especially after Ansi 85 when you could write nice structured code. Some of the implementations, on the other hand, were dreadful, but you can hardly blame Admiral Hopper and her contemporaries for that... Its easy enough to mistake a piss poor implementation with a fundamantal flaw in the language...

  19. Jamie


    I had to learn it in school and have to admit it is one of the easiest languages to learn to program with.

  20. Anonymous Coward
    Thumb Up

    Assembler in COBOL

    At my uni, one of the semester projects was writing an assembler. One of the sharp ones, being ultra-bored, decided to implement it in COBOL, as using LISP or C was "too easy". The impressive part is she actually made it work.

  21. Anonymous Coward


    I seem to remember that it was created as a stop-gap until something better was designed.

    ...and when it was everyone cried: "We've got two years worth of COBOL programs here, we're not going to re-write them!". How things have changed.

    I had to write a report "FORTRAN vs COBOL" when I was at uni.

    Frankly, I thought they both sucked (for different reasons).

    File handling in FORTRAN? ha ha ha that made me laugh until I cried.

    Then I tried COBOL. That made me cry until I laughed. The best part was that COBOL is also available in French.

    When I discovered the ridiculous salaries that some COBOL prorgammers were on, I couldn't wait to get started out here in the real world!

  22. Peter Kay

    Dull, Dull, Dull

    I appreciate there is such a thing as modern OO COBOL and less slavish adherence to the initial column based programme entry. However, when I had a go with it in the late eighties (at college, so probably still using ancient technology) I was struck by how tremendously, hideously dull it was to code in. I'll grant that it's harder to shoot your foot than in C/C++, but I do wish it was somewhat less tedious.

    For the same reason, I harbour a dislike for Pascal. Instead of using something more usable like Turbo Pascal, we used ISO Pascal. It might have been standards compliant, but it was coincidentally useless for any real purposes. I'd bin both of them, hell Logo would have been more effective to learn on (now that's an under-rated language).

    For some reason, even Fortran wasn't that nasty to use, even if you did have to be careful what letter your variables started with.

  23. Anonymous Coward
    Paris Hilton

    All Hail COBOL

    @AC 13:19 GMT


    Did you read that book "learn to program in Cobol in 21 days", which of course is a misprint, it should be "21 minutes". The big problem with learning Cobol (on big iron) is not the Cobol but all the other crap that goes with it, JCL, databases (VSAM, IMS, DB2, Ingres, Oracle, and so on), utilities, sorts, FileAID, AbendAid, Source management, etc. etc.

    Or are you one of those people that don't like COBOL because it is not trendy enough.

    Much nicer to have a PC, where you have total control over everything in front of you on your desk.

    COBOL is easy to debug, Micro Focus, AcuCorp and even Big Blue provide excellent debuggers. In fact some companies could lean a lot from CA's Xpediter.

    Paris, we've all seen her ENVIOREMENT DIVISION

  24. Phil Arundell
    Thumb Up

    @Karim Bourouba

    Cobol.Net is already available -

  25. Daniel

    SSome things just emerge and then never evolve any further

    Crocodiles, sharks, tortoises, dragonflies... Unix, C, and COBOL. These beasts emerge upon the world - plug-ugly, kind of dangerous-looking, and reeking of primitive simplicity - and yet they prove themselves immune to either the forces of evolution or to mass-extinction. What is it about these monsters, that is so damn right, that better-looking competitors can't beat? Any designer would tell you that a fish that cannot breathe, unless it keeps swimming forwards, is a stupid idea but, oddly enough, asteroid-strikes appear to prove otherwise.

    Personnally, I'm rather glad that my bank account runs on COBOL, since I don't want my bank account to suddenly go: "Unhandled Exception: System.IO.FileNotFoundException: File or assembly name Balance or one of its dependencies, was not found. Aborting." ... which I rather suspect it would have, if your average Visual Basic wonk had ever been let near it.

    And, Jamie, COBOL was one of the earliest .NET languages developed at Redmond (long before C# or VB.NET). I believe the compiler actually generates CIL-runtime code directy - rather like the Eifel.NET one does. The only problem is, that no COBOL programmer is willing to take the pay cuts and job insecurity, that becoming a .NET programmer, would entail.

  26. Anonymous Coward

    Cobol Road

    Back in my student days I was actually able to debug somebody's COBOL program despite knowing f*** all about the language. His program included the line:


    which had been chucked out with a barrage of silly (i.e. irrelevant) error messages. He couldn't see the difference between his program and the example in the book. Coming fresh to the scene I could see that he should have been thinking in American English and written


    instead. Once that little change had been done the program worked correctly.

    The language is commemorated in Cobol Road (off Fortran Road, with Pascal Close in the next block) in the St. Mellons Business Park at the east end of Cardiff.

  27. Max

    @Roll on Cobol.NET

    Too late!

  28. Anonymous Coward
    Anonymous Coward

    Yee gods...

    I cut my teeth on Cobol in the late 80s... Submitting programs to compile waiting for it to move up the queue... Waiting half an hour (if you were lucky) for the ops to bother to bring the output printout to the window... Just to find you'd made a typo... Jeeeez

    Never again!

  29. Anonymous Coward

    english-like computer languages,...

    an oxymoron if ever I heard one. COBOL (and ABAP) are only for thickos that want to pretend to be programmers.

    Those that can, do; those that can't, SAP.

  30. Mark Edwards

    Ahh ... fond memories ....

    Happy Birthday COBOL .... god it's been a long, long time since I've looked at any COBOL code (1991 IIRC) but I have fond memories of it (apart from having to first hand-write listings on those damn tedious ANSI COBOL coding sheets.

    As many others on here have already pointed out - it's a fine, easy language to code in and is generally rock-solid in implementation.

    I distinctly remember one project I worked on - rewriting writing a secure UNIX shell in C after it had been written by an in-house developer who had been writing COBOL code for 10 years, then learnt C in a weekend (or so he thought). The whole program listing when it was handed over to me was one single monolithic main() function with jumps to labels all over the place - the poor sod had written his program in as close a manner as he could get C to look like COBOL (including loads of #defines to make the language work like COBOL where it wouldn't naturally flow).

    Took me two weeks just to figure out what the bloody thing was doing before embarking on recoding it in a more succinct and C friendly style ...

    ... happy days.

  31. Anonymous Coward
    Anonymous Coward

    Business language

    COBOL is a great business DSL - domain specific language. This is why it succeeds so well in a business environment.

    Comparing it with languages that work well in academic, scientific, or other domains is pointless.

  32. Paul


    I wonder what a 50 year old programming language would look like if strangled to death and turned into a handbag? :)

    To be fair to it, my limited experience of the language is that it does a perfectly good job of solving the tedious-but-essential computing problems it was intended to solve and is ridiculously easy to learn, if overly verbose.

    Why spend the time and effort to rewrite your legacy code in something "trendier" introducing all kinds of bugs in the process just for the sake of being buzzword-compliant, when in 5 or 10 years' time it, too, will be legacy code and may also be in a no-longer-fashionable language?

  33. Brian Miller

    @Anonymous Coward, compile-time syntax error vs. COBOL

    You do realize that what you wrote is _WHY_ COBOL still hangs around, right? You'll never worry about trying to get a void function to return NULL when you use COBOL.

    I remember my first COBOL program, written on a Sperry-Univac 90/40 system. The first time I tried to compile it I had four pages of program and six pages of errors.

    COBOL is absolutely excellent for its primary problem domain, which is simple business math and file/database functions. Other than that, please use a different language. (No, it is not OK to write an operating system in COBOL.)

  34. Richard Plinston

    @ Bad Memories

    COBOL has had an interactive source code debugger (Microfocus Animator) since before C++ existed. Being given poor tools is not a fault of the language. You would have hated a C++ course is all you had was vi.

  35. Anonymous Coward


    >void curriculum ()

    > {

    > return NULL;

    > }

    Alas no, I think you will find this won't compute.....

  36. Richard Plinston

    the really important anniversary

    You have already missed the 'really important anniversary', the 50th of Algol, that was last year. Pascal is merely an Algol derivative via Wirth's Algol-W.

  37. TheOtherMe

    Love It - Happy Birthday Darling

    What a lovely old girl she is.

    I remember spending hours writing COBOL programs by hand on paper! How many of these young whipper snapper script kiddies have ever bothered to hand write a program first? This is boring and time consuming I know, but it does allow one to do an old-school technique called 'desk checking' - A vital step in getting code to compile and run first time without bugs. (Yes it can be done, I've done it!!)

    Long Live COBOL - I hope she is still around in another 50 years continuing to prove that the likes of Java, C++/C#, Perl, Python and all these other new fangled, fly-by-night, pseudo languages are just passing fads.

    -- Now if you'll just pass me my walking frame and coat I'll be off.

  38. Anonymous Coward

    I can imagine...

    one of those Star-Trek time-travels episodes (original series Enterpise-A) when they transport a 21st century bloke into the ship (by accident, as expected)....

    ...when the warp-drive reactor is throwing a fit (as usual)...

    ...and this bloke (a certified Cobol COF), when escorted to brig, passing by Scotty, overhears a conversation and finds out that the code that runs the reactor, is entirely written in Cobol, and he can fix it in no time.

    That's the sort of life span I can imagine for Cobol.

    Anonymous, for obvious reasons (I don1 want any trekkers retaliation!)

  39. Stevie


    Nothing like hearing a tried and tested technology with deep market penetration and five decades of maturity in real world applications as diverse as banking and shop floor manufacturing systems being rubbished by a bunch of people who last used it to write a piece of course work in some bumf*ck university course.

    Almost every criticism I hear of the language is either false (usually born of the complainer's own ignorance) or subjective - I'm particularly impressed by those who complain it is too "wordy", like anyone actually types in this cut'n'paste world. The most damning argument against the language in its own Wikipedia entry was for years a howling joke on the idiot wot rote it, showing he a) didn't know what he was talking about and 2) hadn't read the fine manual to find out.

    The last time I looked a Cobol program could be written monolithically, modularly, dynamically linked (we usually didn't bother because static linking makes for faster programs and a compile took only a few seconds on a real computer) or statically linked. It could be written procedurally, which was the usual way people went about it, but: it could also be written in an entirely declarative way. It could be written as a decision/action matrix. It couldn't be written using OO techniques entirely, since that feature was still coming (it had been delayed by a blind alley involving people who thought "C" would make a better Data Processing language and that we wouldn't have any Cobol by 1995 doncha know). That is no longer true.

    The compiler I used then (and it has long been superceded by a more modern one) was extremely good at figuring out what problems really were and reporting them accurately, in-line.

    Of course, that was on a Unisys Clearpath mainframe running OS2200. If you're going to run a reliable language with mature features well-understood in the business DP world (none of that silly doing currency calculations in floating point variables that the bright young things thought was such a good idea during the "Cobol Out, C In, Baby Out With The Bathwater" heydays of the early 90s), you really should be running it on the Rolls Royce of Operating Systems in a reliable recoverable environment.


    It is worth saying that someone once opined at me that perhaps people insisted on viewing Cobol as an IT language during debates on it, when in fact it is a DP language. The reverse could be said for "C" and its bretheren. Thank you Dan for that insight.

  40. Terry Barnes
    Thumb Up

    @ Peter Kay

    The purpose of a programming language is not to entertain the programmer.

    COBOL is perfectly suited to the transactional applications it's used for. A non-programmer can read (well-written) COBOL and work out what it's supposed to be doing. Its simplicity and the I/O and file control afforded by JCL means that it's inherently secure. I want my bank account details recorded in an application written in COBOL.

    Also, nothing impresses non-IT people more than telling them you were an analyst programmer on mainframes.

  41. John Thorn
    Thumb Down

    What was COBOL for??

    I recall being told that the design objective of COBOL was to eliminate programmers (before COBOL, programming for commerce meant Assembler). If that was the case it's a massive failure.

  42. Solomon Grundy

    COBOL Rocks

    And will get you great jobs at really nice places to work. Nice jobs = nice houses and cars. Nice houses and cars = GIRLS. Yes COBOL can get you laid no matter how geeky you are.

    If you haven't learned COBOL yet get to it.

  43. Charles Manning

    @Terry Barnes

    Right on the money.

    Half the problem with these newfangled C++ etc is that they have a whole lot of frilly bits that the programmers feel they have to use to prove their geekhood. You know, operator overloading and the like. Unfortunately this gets them into all kinds of trouble that they often don't even realise they are in.

    COBOL might be very simple, but that's have the appeal. It is relatively hard to get confused by COBOL.

    [Did 2 years of COBOL back in early 80s].

  44. SisterClamp

    Sister Clamp's definition of Hell

    Debugging a COBOL program to a deadline on a 300-baud teletype machine. Decades later and I'm still in therapy.

  45. jake Silver badge

    Over the years ...

    Over the years I've often had students ask me "what other programming language should I learn?" Invariably, I reply "COBOL!" ... I have had a lot of email thanking me for that advice. Good COBOL coders are worth their weight in core memory ... Always have been, always will be[1].

    Somewhere, Grace is smiling an evil smile in the way that only she could :-)

    Pardon me while I polish the case containing my nanosecond.

    [1] Yes, I know, that's been depreciated over the years, but what hasn't?

  46. Christian Berger

    "Just works" means a lot

    If something would actually work in computing, it's usually a big progress. If C and PHP would "just work" we'd have a lot less problems.

  47. Anonymous Coward

    vi not bad. vi plenty good.

    If someone thought vi was "hard" they should have used mainframe line editors or cards or tape.

    Seriously, the easier life gets for coders the more they complain!!!!

  48. Admiral Grace Hopper

    I may be biased

    ... but it turned out rather well, didn't it?

  49. Neil

    Fifty years in...

    And I hear that some of the applications that started development at that time are now nearly ready!

  50. Mr Larrington
    Paris Hilton

    @Peter Kay

    "For some reason, even Fortran wasn't that nasty to use, even if you did have to be careful what letter your variables started with."

    I commend unto Sir FORTRAN 90 which, as well as allowing one the luxury of the IMPLICIT NONE statement, would also let you use identifier names like "soapytitwank" or "hairy_japanese_bastards" without the compiler going postal.

    Not that I would ever have done such a terrible thing, of course.

  51. Paul


    To bust some myths:

    1) There are implementations of COBOL with excellent debugging capabilities. Micro Focus Animator allowed you to examine and change variables, alter program flow, and see program structure twenty years ago.

    2) There are at least two implementations of COBOL on .NET - from Micro Focus and Fujitsu. Micro Focus COBOL is properly integrated into Visual Studio, and provides proper support for Winforms and WPF.

    The reason COBOL has survived 50 years is it hasn't stood still, and that it carries out the grunt work of transaction processing that makes the world run (pays our wages, puts bread on supermarket shelves... etc). It has (and continues) to move to new platforms all the time. If you want to write a piece of cross-platform code that works the same everywhere from Windows, through about fifty flavours of *nix and also on mainframes, write it in COBOL. And if you want it to carry on working as applications migrate into the cloud, still write it in COBOL.

  52. Anonymous Coward


    C - compiles

    O - only

    B - because

    O - of

    L - luck


  53. Anonymous Coward
    Anonymous Coward

    Results-oriented programming

    Cobol - like CICS, mainframes, and many other habitually maligned aspects of IT - gets things done every second of every day, quietly and without fuss or disruption.

    It's poles apart from the other face of IT - the one we all see too much of every second of every day. The one that's all to do with appearances and perceptions and marketing and smoke and mirrors. New version of this, latest release of that, clever new dialect that makes it even easier to "create a new Web experience". Cunning plans to make a million (or a billion) instantly online without any effort (or any contribution to society).

    It's all too easy to forget that there is a subterranean, systematically ignored, world of IT that simply works and keeps on working, underneath the loud, tumultuous, ever-changing show business industry that we have become used to.

  54. Nick Rutland

    How long will COBOL survive?

    The story is told ...

    COBOL programmer Fred having made a mint inthe Y2K panic is diagnosed with a terminal disease. He decides to go for the cryogenic option and has himself frozen, with instructions to be woken when a cure is found.

    As he wakes up he asks the anxious-looking staff whether they've really discovered a cure.

    "No," they reply. "But it's coming up to AD 2400, and your CV says you know COBOL...."

  55. Jonathan

    re: Results-oriented programming

    my first job was coding in COBOL and despite being a tad (understatement) disappointed at the time i've got to say that after 15 years in the industry my appreciation for COBOL just keeps growing, and its basically down to the fact that "it just works"

    i've worked on systems dealing with hundreds of thousands of transactions per minute, shifting hundreds of billions of pounds daily and ALL the reliable ones were written in COBOL and all the ones that keep spitting out errors and exceptions and falling over have been C++, Java or .Net at the core.

    Admittedly this probably has as much to do with having proven, reliable management and review processes in the institutions using COBOL, but the difference is like night and day - I haven't worked anywhere newer language development has been anywhere near as well controlled or as thoroughly as you will get in a COBOL house. Seriously... I almost pull my hair out when I see/hear what some people get away with writing and putting live.

    So, yeah, I see COBOL as a stark remnder that you used to beable to write code that quickly and efficiently did what it said on the tin, without thinking "mmmm... what fancy bells and whistles do i want before i start writing the guts".

    (Add to that that every 3 yearsyou don't get your vendor pulling support and forcing you to upgrade your code to the latest, more expensive, version of their proprietary language/development environment)

    And dude... if you need a fancy text editor to tell you what is what in your code....

  56. John Angelico

    Sub-editor alert!!

    Original COBOL did not have a DISPLAY statement.

    If you wanted to display some sort of historical relevance, it should have been a WRITE ... AFTER statement.

    Egad! It's been so long since I did any COBOL that I had to look it up! <embarrassment ++>

    But I JUST KNEW it was wrong! :-)

  57. John F***ing Stepp

    Ah, COBOL

    In my final semester I was told that good COBOL programs do not use GOTO.

    (which, by the way, I agree with.)

    Being a bit of a wiseass I told my instructor that "hell, I can write this stuff without IF THEN".

    And I did.

    Fifty pages of flowchart; compile times that damn near broke the poor old 36 it was running on.

    COBOL was fun; COBOL was somewhat hackable and I sometimes wish I had stayed with it.

    PASCAL; Don't ask me about PASCAL.

    God, I am so depressed.

    Brain the size of a planet and they want me to do PASCAL. . .

  58. Leigh

    COBOL – Why?

    I'm an OS bits'n'bites developer with code that's touched you. If I had to write a business application, I'd beg you to shoot me.


    I want to take a moment to point out why Cobol lives on.

    Why? Why defend a language I've never programmed in?

    (a) Because I developed compilers and

    (b) Because as head of IT, I'm responsible for reliability.

    My compiler development background gave me a peek inside Cobol. Unlike C and most other popular languages, Cobol (especially object Cobol) has several features that make it unmatched in reliability and precision. Written correctly, Cobol programs won't experience the data reliability and decimal rounding errors found in other languages which require extensive work-arounds.

    Cobol is like a dowager– stolid, solid, unattractive, robust but reliable. C/C++ is like Britney Spears– cute, sexy, high-maintenance, flaky as hell, and goes down at a moment's notice.

    As a software developer, I agree Cobol isn't sexy and thank God I'm not the one who has to use it. But as head of IT development, I'm grateful for its reliability.

  59. Anonymous Coward
    Anonymous Coward

    Business Computing

    Cobol stands for COmmon Business Oriented Language and that's exactly what it is - a business oriented language common to many brands of (mainframe) computers.

    If you look at business computing requirements, it is all about files and records, and perhaps printing. Generally in large and extremely large volumes. And that's what Cobol excels at.

    Sure, C and its variants are better for personal computing, or other abstract computing such as weather forecasting and scientific computing. In fact you would NEVER use Cobol for these applications.

    But modern academically-designed languages will never foot it with Cobol for business applications.


  60. Geoffrey W

    @Love It - Happy Birthday Darling

    Or should that be *Love It - Happy Birthday Darling


    I remember spending hours writing COBOL programs by hand on paper! How many of these young whipper snapper script kiddies have ever bothered to hand write a program first?


    That's nowt. My first decent program was a PacMan clone hand written on a piece of paper in assembler then hand assembled, painfully writing the bytes of hexadecimal code into a hacked string. It ran so fast I thought it wasn't working because I couldn't see what it was doing until I put in some slow down code.

    All you high level organisms are just wusses compared to us single cell life forms. We do all the primeval struggling so you can live in your civilized and structured object oriented societies without being aware of the quantuum chaos that rules out here.

    Gawd, its heck, but somebody HAS to do it!

This topic is closed for new posts.

Other stories you might like