Slashdot Mirror


Don't Count Cobol Out

Hugh Pickens writes "Although Turing Award-winning computer scientist Edsger Dijkstra once said, 'the use of Cobol cripples the mind; its teaching should, therefore, be regarded as a criminal offense,' Michael Swaine has an interesting entry to Dr. Dobb's Journal asserting that Cobol is the most widely used language in the 21st century, critical to some of the hottest areas of software development today, and may be the next language you'll be learning. In 1997, the Gartner Group estimated that there were 240 billion lines of Cobol code in active apps, and billions of lines of new Cobol code are being written every year. Cobol is a key element in the realization of modern distributed business software architecture concepts — XML/metadata, Web Services, Service Oriented Architecture — and e-business."

10 of 274 comments (clear)

  1. Still taught in schools by Judinous · · Score: 3, Interesting

    My University (Texas A&M Kingsville) still requires COBOL for every IT-related degree, even those not oriented towards programming. My jaw almost hit the ground when I found out that I was going to have to take a COBOL class to earn my CIS degree. Although there is obviously still a need for people to support applications written in that archaic language, I really wish that the bureaucracies of the world would let it die already.

    1. Re:Still taught in schools by plover · · Score: 3, Interesting

      Perhaps you should be grateful that they're teaching you at least one commercially viable language.

      When I was in school, we learned several languages that have only microscopic utility in the business world today, and many that exist now only in moldy documentation and hazy memories. Trust me, SNOBOL and PL/1 are not going to get you in any doors. FORTRAN might get you into a few aerospace industries (the kind where the engineers still wear slide rules on their belts.) Pascal morphed into Delphi, and yes, there are jobs for those people (or so I hear.) LISP may still be big (in the (parenthetical (world)) of AI), but good luck finding that job. And I learned half a dozen assemblers for architectures that have now been out of production for over 20 years. Most of today's commercially valuable languages weren't even invented back then: C++, Java, Smalltalk, or any of the .Net flavors. They didn't even teach us C because it hadn't reached our school yet.

      But they taught us COBOL. What other languages have you had to take that you know will still be in use 30 years from today? :-)

      --
      John
  2. Re:Another one? by number6x · · Score: 4, Interesting

    I absolutely agree. There is a lot of new COBOL being written, but it is usually done to enhance existing systems.

    I am currently on a project at a major insurer on a system that is about 90% COBOL. Over the nextre year most of the Batch functionality will be replaced with smaller Real-time enabled called routines running as headless transactions in a CICS region.

    The code base will be greatly reduced because the majority of the field validation is being moved into the new front end web app from the old COBOL based CICS green screens and the Nightly batch routines. The COBOL code will just wait for messages to show up over the Queue and either update, create, read or delete things in DB2.

    The software system is really pretty robust for a Mid-80's era design. It has no central database, each separate portion of the company processes transactions in a distributed peer to peer fashion. Quite advanced for mainframe systems of any era let alone when PC's were just breaking into the 16 bit cpu and greater than 640 k era.

    Mainframes are much cheaper now as well. The models produced by IBM today run on air cooled power PC CMOS design chips and start in the $300K range (and go way up). Paying for comparable computing power on an Intel based platform would cost less, but if you start demanding the 9 nine's of uptime that mainframes deliver the cost of the high availability Intel based machines goes way up and you get into the $250K range.

    People used to believe that 'network' computing would kill the mainframe. Now the mainframe is just a part of the network.

  3. Re:ROI by Darkness404 · · Score: 3, Interesting

    The problem with COBOL is that it isn't flexible. I have heard of many businesses having to rewrite many lines of COBOL in order to do simple things such as payroll changes, etc. Also, COBOL isn't very quick to write, what can be done in 50 lines of COBOL can be done in 30 lines of C, and about 20 lines of Python or Java.

    --
    Taxation is legalized theft, no more, no less.
  4. Re:job market by FatMacDaddy · · Score: 3, Interesting
    You've directly addressed why I think this article is bogus. I know a boatload of former COBOL programmers who would jump at a COBOL job offer. Too bad there aren't any. Most of those guys are either working in java or else have left programming entirely (to go to management or completely different fields).

    Maybe you shouldn't count COBOL out in terms of it still being used in the business world, but I sure wouldn't base any career decisions around it.

    --
    This space intentionally left blank.
  5. Re:Cobol defeated da Terminator by electrictroy · · Score: 4, Interesting

    Dear younglings (or oldlings):

    If you want a REAL challenge, forgot cobol. Try programming an Atari 2600 gaming console. You have just 128 bytes of RAM to create a playable video game. (No that was not a typo... 128 bytes.)

    I tried it once.
    I gave up.
    It gave me new respect for the original Atari geniuses who created playable versions of Space Invaders, Missile Command, Cosmic Ark, and Jr. Pacman, and turned a cheap console into the #1 system of its day (1977-to-1984).

    --
    The government is not your daddy. Its purpose is not to raid middle-class neighbors' wallets and give it to you.
  6. Re:Cobol defeated da Terminator by AKAImBatman · · Score: 3, Interesting

    The Atari 2600 isn't that hard. It may be limited, but the 6502 is actually a pretty developer friendly architecture. Modern debuggers like the one in Stella can make the process pretty straightforward. (Though I would never dispute the challenges posed by cycle counting in an effort to get better graphics out of the system!)

    If you want a real challenge, try programming the IBM PC in assembler sometime. As in the original systems from the early 80's. It won't take you long to start swearing at the stupid memory segments with their stupid memory models all focused on stupid interrupt calls that are stupidly undocumented! GAH! To add insult to injury, try 80286 protected mode. (Hint: It never actually worked.) For even more fun, try dealing with EMS and XMS memory using a DOS compiler. Yay! How fun! How wonderful! How challenging! And not in a good way!

    Stupid PC. It's amazing that we let it become the dominant platform. (Though in the defense of us geeks, a modern PC does look a LOT different than those beasts of yore.)

  7. Re:ROI by geekoid · · Score: 4, Interesting

    Anecdotal.
    Properly written COBOL is as flexible as anything else.
    Badly written COBOL isn't flexible--just like every other language.

    "COBOL isn't very quick to write, what can be done in 50 lines of COBOL can be done in 30 lines of C, and about 20 lines of Python or Java."
    and 1 line in perl.

    Where do you get your numbers. I can do things in 20 lines of COBOL that would take 100's of lines in C.And it performs faster then those languages. When you are doing millions of financial calculations and hour, you need reliability and rock solid performance.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  8. Re:Cobol defeated da Terminator by AKAImBatman · · Score: 3, Interesting

    It was an improvement as our programs became more memory strapped. That didn't mean that they weren't a bear to program. Heck, they were a bear to use! No one remembers it anymore, but we used to have to create boot disks for nearly every game just to get all the necessary drivers loaded while simultaneously leaving enough low-mem to run the program. It actually got to the point where I was putting a boot disk in the box of each game I purchased.

    DOS Extenders did eventually get good enough to where the game effectively loaded its own Operating System. After that, you didn't care how much low memory there was. But man, was getting there ever a pain!

  9. Re:Another one? by plover · · Score: 4, Interesting

    Yes and no. In the financial industry, for example, COBOL mainframes hang on primarily because their reliable.

    BS. In the financial industry COBOL mainframes hang on because they're PAID FOR.

    Almost. The mainframes are definitely not paid for (we continue to lease and upgrade our mainframes), but the COBOL code is.

    Mainframes hang on because they have a huge legacy base of working code. Replacing all that is seen as a giant expensive effort for no immediate gain. And because we have more and more work to do with that data, we keep adding more and more code to the legacy base.

    It'll take a mandate from on high to get us to stop adding to the morass. And that's not forthcoming, because honestly the COBOL work is still as cheap as anything else, especially for the giant record-oriented processing work that we ask of the beasts. They may not be glamorous, but their ugliness is well understood, and has a stable price tag.

    --
    John