Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Programming Technology IT

Don't Count Cobol Out 274

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."
This discussion has been archived. No new comments can be posted.

Don't Count Cobol Out

Comments Filter:
  • by Judinous ( 1093945 ) on Friday September 19, 2008 @06:35PM (#25079425)
    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.
  • Baby Boomers + COBOL (Score:2, Interesting)

    by halsver ( 885120 ) on Friday September 19, 2008 @06:39PM (#25079477)

    As a younger person in the world of IT, I question how much longer things like COBOL survive. My theory is that with the aging Baby Boomer population, those IT managers will soon head off to retirement. Younger folks will look at that COBOL as something that needs to go and with Bob gone, we can slowly bring that system to the 21th century.

    As an aside, /. had this little quote at the bottom of the page when reading TFS: "senility, n.: The state of mind of elderly persons with whom one happens to disagree." I thought it was fitting.

  • Re:Another one? (Score:5, Interesting)

    by number6x ( 626555 ) on Friday September 19, 2008 @06:46PM (#25079569)

    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.

  • Re:ROI (Score:4, Interesting)

    by Darkness404 ( 1287218 ) on Friday September 19, 2008 @07:01PM (#25079717)
    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.
  • Re:job market (Score:4, Interesting)

    by FatMacDaddy ( 878246 ) on Friday September 19, 2008 @07:03PM (#25079753)
    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.

  • by Darkness404 ( 1287218 ) on Friday September 19, 2008 @07:05PM (#25079779)
    Not being a COBOL programmer (nor a C programmer either), I can't give you a code by code example on why C is better. But I can tell you that a lot more things have to be rewritten to do simple changes in COBOL compared to the equivalent code in C.
  • by Anonymous Coward on Friday September 19, 2008 @07:17PM (#25079921)

    I am of the opinion that sinister-sounding acronyms like COBOL are a lot cooler than all the cutesy names we have today. "Java"? Ugh.

  • by electrictroy ( 912290 ) on Friday September 19, 2008 @07:24PM (#25079995)

    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).

  • Re:Another one? (Score:3, Interesting)

    by syousef ( 465911 ) on Friday September 19, 2008 @07:29PM (#25080071) Journal

    Dijkstra was not known for being conservative in his statements of opinion. His "GOTO considered harmful" essay did a lot of good, but it also did quite a bit of damage. To the point where we ended up with a variety of "considered Harmful" Considered Harmful essays.

    (I wonder if ""Considered Harmful" Considered Harmful" Considered Harmful is soon to follow? Oh wait. That already happened in '87.)

    Typical COBOL developer. That's so last century. Don't you know we call them Anti-patterns now? Get with it already!

    (Moderation Hint: This was a tongue in cheek joke not a troll).

  • by AKAImBatman ( 238306 ) * <> on Friday September 19, 2008 @07:38PM (#25080177) Homepage Journal

    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.)

  • Re:ROI (Score:5, Interesting)

    by geekoid ( 135745 ) <dadinportland AT yahoo DOT com> on Friday September 19, 2008 @08:21PM (#25080621) Homepage Journal

    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.

  • Re:Bollocks (Score:3, Interesting)

    by geekoid ( 135745 ) <dadinportland AT yahoo DOT com> on Friday September 19, 2008 @08:34PM (#25080731) Homepage Journal

    I guess someone who quotes Gandhi showing off his complete ignorance shouldn't be expected to know the many new COBOL apps are used, and there are some very widely used enterprise systems that sue a language very similar to COBOL.

  • by AKAImBatman ( 238306 ) * <> on Friday September 19, 2008 @08:44PM (#25080823) Homepage Journal

    The most amazing cartridge was Atari 800 Basic

    I believe mikael intends to refer to Atari 2600 BASIC []. It was limited to 9 characters per line and that only worked because it flickered like mad. Crazy, crazy idea. The 2600 simply didn't have enough hardware to generate a text display, even if we assume that cartridges could use superchips for an extra 128 bytes of memory. 2 sprites per scanline just isn't much to work with.

    The Atari 800 was a much more sophisticated piece of hardware with support for many more sprites, tillable backgrounds, and a full text display. (Most programmers don't think about it these days, but there is no real-world difference between rendering text and rendering background tiles in a game. That's why backgrounds showed up in video games. Because they needed text displays!)

  • Re:Another one? (Score:1, Interesting)

    by Anonymous Coward on Friday September 19, 2008 @10:03PM (#25081411)

    COmmon Business Oriented Language, COBOL.. I was first exposed to this abomination in college in the eightys. My exact words were WTF!.

    Teacher said,"It's so businessmen can understand it." I said."So let the fuckin' MBA's program in it," and went back to Pascal.


  • by AKAImBatman ( 238306 ) * <> on Friday September 19, 2008 @10:11PM (#25081471) Homepage Journal

    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!

  • Re:Another one? (Score:5, Interesting)

    by plover ( 150551 ) * on Friday September 19, 2008 @10:30PM (#25081621) Homepage Journal

    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.

  • by plover ( 150551 ) * on Friday September 19, 2008 @10:47PM (#25081755) Homepage Journal

    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? :-)

  • by kitgerrits ( 1034262 ) * on Saturday September 20, 2008 @06:33AM (#25083709)

    By the time of DOS 6, I found a different solution:
    I set up a config.sys menu that set up the system the way I wanted it to run.
    It had generic entries (XMS, EMS, Clean) and game-specific entries.
    (It even had sub-menus and entries to go back to the main menu)

    You could even pick up the current Config.sys mode in your autoexec.bat and automatically start a game!

  • Cobol is rock solid. (Score:1, Interesting)

    by Anonymous Coward on Saturday September 20, 2008 @10:30AM (#25084749)

    I'm a former mainframe cobol programmer, I've been writing VB windows applications for the last 10 years.
    I always tell people, the next time you swipe your debit/credit card to buy something there are millions of lines of cobol code making that possible, from the authentication code you immediately get back to the monthly bill you'll receive in 30 days. Mainframe Cobol is rock-solid-stable, damned reliable and in the long run, much cheaper than any large VB application I've ever seen.

  • by caseih ( 160668 ) on Saturday September 20, 2008 @12:01PM (#25085345)

    This pretty much blows my mind: []

    The compiler here is called Wildcat, and it's a .NET compiler (runs on the CLR).

Statistics are no substitute for judgement. -- Henry Clay