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

63 of 274 comments (clear)

  1. Another one? by AKAImBatman · · Score: 5, Insightful

    Edsger Dijkstra once said, 'the use of Cobol cripples the mind; its teaching should, therefore, be regarded as a criminal offense,'

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

    A more conservative viewing of COBOL would show that it held a useful place in history, but is now antiquated. You'd need to be extremely conservative to think that COBOL has a place for growth in the modern world.

    ...

    Oh snap. We got another one.

    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.

    Let's be realistic here.

    1. 1997 was 11 years ago
    2. Everyone was preparing for Y2K
    3. Those billions of lines of code were often replacing billions of lines of coded that were removed

    As someone who once worked with mainframes, I can tell you that COBOL isn't dead. However, it's not exactly thriving, either. Legacy systems do their jobs well, so there is little reason to replace them. Instead, many companies use technologies like Java->CICS connectors to bridge the gap between old and new. But that doesn't mean that anyone is going to be developing "millions of lines of COBOL".
    Quite the opposite, in fact. Business moves more quickly today than in any period in history. And with business moving so quickly, companies find they need to develop new aspects to their businesses. Those new aspects often take the form of new opportunities to develop new software.

    If anything, I think COBOL is still hanging on because the mindset for technology is still external facing. Remember the Dot Com Boom? Well, one of the side effects was that technology shifted from optimizing internal operations to interacting with customers directly. Which is not a bad thing, except that internal operations shouldn't be neglected. Thus I see a lot of companies with inefficient internal procedures because they have not invested in proper internal technology infrastructure. This has left a niche where old COBOL programs are nursed along despite a growing amount of manual work for employees at many companies.

    Wouldn't it be nice if technology could solve their problems? Well, it can. All we need is someone to make the investment.

    With the economy going bust at the moment, I have a feeling the pendulum is going to swing back the other way. Companies are going to need to tighten their belts and become more competitive on price. Which means that they need more efficient operations. With the massive advancements in technology and ensuring code quality in the last 10 years, I fully expect that companies will soon have systems every bit as solid as their COBOL mainframes. Except they will be designed with more rapid change and flexibility in mind.

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

    2. Re:Another one? by syousef · · Score: 2, Interesting

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

      --
      These posts express my own personal views, not those of my employer
    3. Re:Another one? by Mike+Buddha · · Score: 3, Insightful

      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.

      --
      by Mike Buddha -- Someday the mountain might get him, but the law never will.
    4. 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
  2. No by Gat0r30y · · Score: 2, Insightful

    I'm gonna go ahead and count COBOL out. Don't be silly.

    --
    Prediction: The real iPhone killer is going to be sex robots from Japan. Think about it.
  3. BSG by HTH+NE1 · · Score: 3, Funny

    Long Live the Lords of COBOL.

    --
    Oh, say does that Star-Spangled Banner entwine / The myrtle of Venus with Bacchus's vine?
    1. Re:BSG by pilgrim23 · · Score: 3, Funny

      COBOL? bah! FORTRAN rulz!

      -and he said with a face quite solemn: "You better start in the 7th column"

      --
      - Minutus cantorum, minutus balorum, minutus carborata descendum pantorum.
  4. Best Part by Gat0r30y · · Score: 5, Insightful

    It may seem surprising that it takes any programming at all to implement a salary change in a payroll system, but a commenter on Slashdot said it was at least plausible, and that's good enough for us.

    I think this alone should be enough to discredit the author.

    --
    Prediction: The real iPhone killer is going to be sex robots from Japan. Think about it.
    1. Re:Best Part by oldhack · · Score: 2, Insightful

      Btw, I had been a long-time subsrcriber of Dr. Dobbs, until about a year ago. About the only thing worth saving from what it has become is Swaine's column.

      --
      Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
  5. ROI by plopez · · Score: 4, Insightful

    What many people don't get is that a good business person goes after ROI. If you spend money on something, you want to get money out of it. Squeeze every dime until it screams (which I respect, BTW). Ripping out something just because it isn't cool doesn't play. Enhancing or building on top of it when there is a good business case does play. If it ain't broke, don't fix it.

    Having to upgrade every 3-5 years means no ROI. This is a great argument against closed source proprietary vendors.

    BTW, there is OO COBOL out there. And FORTRAN 95 is OO as well, which I am ramping up to do a project in soon (I hope).

    --
    putting the 'B' in LGBTQ+
    1. 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.
    2. Re:ROI by hey! · · Score: 5, Insightful

      Well, that's a matter of being in a hurry go get the program out the door. There's lots of parameter input through the compiler going on. Always has been.

      I personally like terse languages, but I think coupling is a bigger issue. Fifty lines of self-contained COBOL are easier to understand than twenty lines of highly coupled Python that depends on assumptions spread far and wide in the system.

      One of the reasons that so many COBOL systems remain is that they were written in a day when most tasks ran top to bottom. It was before the "event loop" became a familiar pattern to most programmers. In a sense, it shows how reusability can shoot you in the foot (there's few worthwhile tools that can't be dangerous some of the time). Back in the day the vast majority of programs had well defined input, performed a well characterized calculation on that input, and produced a well defined output. Now consider something that is a component in a framework. It has to be damn well conceived because it's meant to operate in situations the designer has never even conceived of.

      So, I'll bet that the COBOL that survives is stuff which does something that is clearly defined, simple, and useful. Why convert it to Java if it works fine and is part of a large body of software that works fine?

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    3. 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
    4. Re:ROI by Bill,+Shooter+of+Bul · · Score: 2, Insightful

      That is true ROI is big. So is ROLOI. Return On Lack Of Investment. Believe it or not code rots. It depreciates in value and increases in maintenance costs over time without re factoring. This cost is brought on by a number of factors including labor costs ( as the industry changes its standards resulting in a smaller pool of potential employees),business growth ( if your software is critical to your business it should be improving in features and scalability), and talent retention ( go ahead keep your systems in Delphi 3, see how many applicants come a knocking and how many stick around.).

      Now this doesn't mean you always upgrade to the flavor of the month, but you should look at potential losses as well as potential profits when making a tech decision.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    5. Re:ROI by Kayamon · · Score: 2, Funny

      ADD 1 TO COBOL GIVING COBOL

      --
      Kayamon
    6. Re:ROI by lewko · · Score: 3, Funny

      When you are doing millions of financial calculations and [sic] hour, you need reliability and rock solid performance.

      When you are posting to Slashdot however...

      --
      Do you or your partner snore? - Visit www.snoring.com.au
  6. 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:Still taught in schools by techno-vampire · · Score: 3, Funny
      What other languages have you had to take that you know will still be in use 30 years from today?

      English comes to mind, but considering some of the posts I see here, I have my doubts.

      --
      Good, inexpensive web hosting
  7. Baby Boomers + COBOL by halsver · · Score: 2, Interesting

    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.

    --
    Roughly half my comments are never submitted. You may be reading the better half...
    1. Re:Baby Boomers + COBOL by plover · · Score: 2, Funny

      I think you underestimate how many banks are actually run by immortal (daywalking) vampires.

      Two less.

      --
      John
  8. Cobol defeated da Terminator by schwaang · · Score: 5, Informative

    Gov. Schwarzenegger ordered a cut in pay to California state workers, and was told that it would be impossible to implement because the payroll system is in Cobol and nobody can touch it.

    Sounded like political bull to me, but then again...

    1. Re:Cobol defeated da Terminator by guyminuslife · · Score: 5, Funny

      FYI: When he was reprogrammed by John Connor, it was in COBOL.

      --
      I don't believe in time. It's a grand conspiracy designed to sell watches.
    2. 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.
    3. 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.)

    4. Re:Cobol defeated da Terminator by AKAImBatman · · Score: 2, Interesting

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

    5. 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!

    6. Re:Cobol defeated da Terminator by Actually,+I+do+RTFA · · Score: 2, Informative

      Gov. Schwarzenegger ordered a cut in pay to California state workers, and was told that it would be impossible to implement because the payroll system is in Cobol and nobody can touch it.

      Correction, Gov. Schwarzeneggar wanted to partially defer pay to California state workers, and pay them in the next quarter. That's what was impossible. And yes, that seems like it would be a lot of work, even if the language wasn't an issue, with the possibility of breaking quite high.

      --
      Your ad here. Ask me how!
    7. Re:Cobol defeated da Terminator by red_dragon · · Score: 5, Informative

      000100 IDENTIFICATION DIVISION.
      000200 PROGRAM-ID.     KILL-SARAH-CONNOR.
      000300
      000400*
      000500 ENVIRONMENT DIVISION.
      000600 CONFIGURATION SECTION.
      000700 SOURCE-COMPUTER. SKYNET.
      000800 OBJECT-COMPUTER. T-800.
      000900
      001000 DATA DIVISION.
      001100 FILE SECTION.
      001200
      100000 PROCEDURE DIVISION.
      100100
      100200 MAIN-LOGIC SECTION.
      100300 BEGIN.
      100400     PERFORM UNTIL SarahConnorIsDead.
      100500         FIND SARAH CONNOR.
      100600         SHOOT SARAH CONNOR.
      100700     END-PERFORM.
      100800 MAIN-LOGIC-EXIT.
      100900     EXIT.

      --
      In Soviet Russia, Jesus asks: "What Would You Do?"
    8. Re:Cobol defeated da Terminator by AKAImBatman · · Score: 4, Informative

      The 2600 only has TWO sprites. The missiles and the ball are 1-bit graphics and thus aren't really counted as "sprites". So there are 5 movable objects. Then there's the playfield. The playfield plots rather long lines (4 pixels per bit IIRC?) at fixed locations. Of course, there wasn't enough memory to store an extra 20 bits to fill the screen. That would be too easy. Instead, the [i]same bits[/i] were reused to draw the second half of the scanline. You could have the playfield repeat or you could have it mirror the bits. But if you wanted to actually have a full-width playfield, you had to "race the beam".

      And by "race the beam" I mean that you would time the processor cycles just right so that you would replace the bits in the registers immediately after they were written to the screen. Since you were working with only 2 1/2 bytes, and you could only write a full byte, that became somewhat challenging. Especially since the 6507 CPU was clocked at 1/3 the speed of the TIA chip. For every three pixels plotted, you'd get one CPU cycle. To add insult to injury, even the shortest instruction still used 2 CPU cycles. And God help you if you crossed a page boundary while reading or writing memory. The extra cycle you incurred would be enough to throw off the entire program and cause nothing but garbage to get written to the screen!

      Making things even more difficult was the way you moved sprites around. There was no way to say "show this sprite at location X". Instead, you had to use one scanline to mark the approximate pixel location of the sprite (remember, 3 cycles per CPU clock), then use the location counter function to advance the position forward or retard it backward by a few pixels. And by a few, I mean 0-3.

      As a result, you had to become a master at timing everything. You counted the cycles, you watched the memory locations, and you figured out how to beat the machine at its own game. Which (oddly enough) is more or less how the system was designed to be used. By the end of the 2600's lifetime, developers had pulled incredible graphics out of the system. Some were done with the assistance of special cart hardware, but most of it was simply the ingenuity of the developers.

    9. Re:Cobol defeated da Terminator by Hal_Porter · · Score: 3, Informative

      Yup, maybe me laugh when I saw it because I was writing 6502 assembly at the time

      http://en.wikipedia.org/wiki/MOS_Technology_6502#6502_in_popular_culture
      In the science fiction movie The Terminator (1984), starring Arnold Schwarzenegger, the audience at one point is treated to a view through the T-800 Model-101 robot character's eye/camera display with some 6502 assembly/machine code program fragments scrolling down the screen. The program was listing the Apple ][ Disk Operating System (DOS) 3.3 disassembled program listing. Also shown is the output from a run of an Apple ][ checksum program called KEY PERFECT 4.0, published in Nibble magazine.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    10. Re:Cobol defeated da Terminator by kitgerrits · · Score: 2, Interesting

      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!

      --
      "I was in love with a beautiful blonde once, dear. She drove me to drink. It's the one thing I am indebted to her for."
  9. No way by OpenSourced · · Score: 5, Insightful

    and may be the next language you'll be learning

    Just impossible. Basically because it was the second language (after FORTRAN) that I learned. I don't really understand the fuss about COBOL. Never found it either much worse or much better than other languages. The thing to remember about COBOL is that it was developed to solve a specific kind of problems. Today we would call it a Domain-Specific Language. And that kind of problems it solves with relative straightforwardness. Most of the critics I see of COBOL are for trying to use it as a general-purpose language. I mean, you don't try to write a text editor in PL-SQL, even if you probably could. And nobody criticizes PL-SQL for that reason.

    So COBOL is outdated and verbose. True. So what. It's been years since a wrote a line of the beast, but I wouldn't have a problem to start working with it tomorrow. Also, as the set of problems that it was designed to solve was reduced, it as very pliable to being automatically generated.

    So, a language is a language, all have their problems and advantages. Me, I care much more about the size of my screen or the strength of the air conditioning in my workplace than about the particular dialect that I have to program this week.

    --
    Rome taught me patience and assiduous application to detail. Virtues which temper the boldness of great, general views.
  10. GOODBYE WORLD by Tumbleweed · · Score: 5, Funny

    000100 IDENTIFICATION DIVISION.
    000200 PROGRAM-ID.     HELLOWORLD.
    000300
    000400*
    000500 ENVIRONMENT DIVISION.
    000600 CONFIGURATION SECTION.
    000700 SOURCE-COMPUTER. RM-COBOL.
    000800 OBJECT-COMPUTER. RM-COBOL.
    000900
    001000 DATA DIVISION.
    001100 FILE SECTION.
    001200
    100000 PROCEDURE DIVISION.
    100100
    100200 MAIN-LOGIC SECTION.
    100300 BEGIN.
    100400     DISPLAY " " LINE 1 POSITION 1 ERASE EOS.
    100500     DISPLAY "NO THANKS!" LINE 15 POSITION 10.
    100600     STOP RUN.
    100700 MAIN-LOGIC-EXIT.
    100800     EXIT.

    1. Re:GOODBYE WORLD by Quiet_Desperation · · Score: 2, Funny

      Ack! You gave me major flashbacks to the old Cyber systems I used in college. *And* made me feel old. Bastard!

    2. Re:GOODBYE WORLD by morgan_greywolf · · Score: 3, Funny

      Ack! Get that away! It might be contagious!

    3. Re:GOODBYE WORLD by geekoid · · Score: 2, Informative

      000010 IDENTIFICATION DIVISION.
      000020 PROGRAM-ID. HELLO-WORLD-PROG.
      000030 AUTHOR. TIMOTHY R P BROWN.
      000040*The standard Hello world program
      000050
      000060 ENVIRONMENT DIVISION.
      000070
      000080 DATA DIVISION.
      000090 WORKING-STORAGE SECTION.
      000100 01 TEXT-OUT PIC X(12) VALUE 'Hello World!'.
      000110
      000120 PROCEDURE DIVISION.
      000130 MAIN-PARAGRAPH.
      000140 DISPLAY TEXT-OUT
      000150 STOP RUN.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    4. Re:GOODBYE WORLD by Tumbleweed · · Score: 2, Funny

      000150 STOP RUN.

      Well, which is it, STOP or RUN? I guess we've identified where Apple got the 'drag disc to trashcan to eject' and where Microsoft got 'Click the Start button to shutdown' mindset from.

  11. Why, what trendy buzzwords you have. by extrasolar · · Score: 3, Funny

    Are you wading the waters to determine how palletable COBOL would be in your buzzword soup? Web 2.0 COBOL cloud computing does have a ring to it. Old is the new "new".

    1. Re:Why, what trendy buzzwords you have. by Sloppy · · Score: 3, Funny

      With Cogs you can keep up with many of the latest buzzwords.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  12. Next thing you know.. by mr_stinky_britches · · Score: 2, Funny

    they're going to be telling us that Fortran is the new Java.

    --
    Censorship is obscene. Patriotism is bigotry. Faith is a vice. Slashdot 2.0 sucks.
  13. job market by sstory · · Score: 2

    What do COBOL coders make these days? Is it worth learning?

    1. 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.
    2. Re:job market by PPH · · Score: 5, Funny

      What do COBOL coders make these days?

      COBOL programs.

      <rimshot/>

      --
      Have gnu, will travel.
  14. Re:Why is Cobol hated? by nawcom · · Score: 5, Informative

    Can someone give me a side-by-side example of C and Cobol program or statement to do the same thing which would illustrate why Cobol is so "evil"?

    C (No bells or whistles): http://99-bottles-of-beer.net/language-c-116.html

    COBOL (or as I call it, COBALD): http://99-bottles-of-beer.net/language-cobol-1820.html

  15. Re:Why is Cobol hated? by Darkness404 · · Score: 2, Interesting

    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.

    --
    Taxation is legalized theft, no more, no less.
  16. Clarification by Waffle+Iron · · Score: 5, Funny

    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.

    The report neglected to mention that 239.9 billion of those lines were boilerplate headers and math operators spelled out with English verbs.

  17. Re:Wasn't BASIC by VGPowerlord · · Score: 4, Informative

    No, I just switched his COBOL quote out for the BASIC one on my whiteboard at work on Monday.

    The BASIC one is

    It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.

    See: Wikiquote

    --
    GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
  18. You know the pose by david_thornley · · Score: 4, Funny

    Noooooooooooooooooooooooooooooooooooooo!!!!!

    What I got when I tried to post the original:

    Filter error: Don't use so many caps. It's like YELLING.

    So what do you do when yelling is appropriate?

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  19. Re:Why is Cobol hated? by PRMan · · Score: 2, Insightful

    You picked the wrong choice to show him why COBOL is hated.

    Typical Mainframe COBOL

    --
    Peter predicted that you would "deliberately forget" creation 2000 years ago...
  20. Re:Why is Cobol hated? by bangwhistle · · Score: 3, Funny

    COBOL may be the best "self-documenting" language. Which I guess isn't very relevant as we know developers love to document their code.

  21. billions of lines by doti · · Score: 4, Funny

    "billions of lines of new Cobol code are being written every year"

    that accounts two hello worlds, and one program that shows the first 1000 fibonacci numbers.

    --
    factor 966971: 966971
  22. Old Joke by PPH · · Score: 3, Funny

    So, Tumbleweed wakes up after almost 8000 years in suspended animation. An official in the year 9999 says, "Having searched the ancient archives of Slashdot, we see that you appear to have a working knowledge of COBOL. We have this Y10K problem coming up and we were wondering if you could possibly give us a hand with it."

    --
    Have gnu, will travel.
  23. Some c by geekoid · · Score: 3, Funny

    #include "stdio.h"
    #define e 3
    #define g (e/e)
    #define h ((g+e)/2)
    #define f (e-g-h)
    #define j (e*e-g)
    #define k (j-h)
    #define l(x) tab2[x]/h
    #define m(n,a) ((n&(a))==(a))

    long tab1[]={ 989L,5L,26L,0L,88319L,123L,0L,9367L };
    int tab2[]={ 4,6,10,14,22,26,34,38,46,58,62,74,82,86 };

    main(m1,s) char *s; {
            int a,b,c,d,o[k],n=(int)s;
            if(m1==1){ char b[2*j+f-g]; main(l(h+e)+h+e,b); printf(b); }
            else switch(m1-=h){
                    case f:
                            a=(b=(c=(d=g)g)'g)g;
                            return(m(n,a|c)|m(n,b)|m(n,a|d)|m(n,c|d));
                    case h:
                            for(a=f;a=e)for(b=gg;bn;++b)o[b]=o[b-h]+o[b-g]+c;
                            return(o[b-g]%n+k-h);
                    default:
                            if(m1-=e) main(m1-g+e+h,s+g); else *(s+g)=f;
                            for(*s=a=f;ae;) *s=(*se)|main(h+a++,(char *)m1);
                    }
    }

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  24. Re:Why is Cobol hated? by geekoid · · Score: 2, Insightful

    SO?
    Comparing the number of lines is a waste of time and shows a lack of knowledge about what is actual important about programming.

    Most people don't understand COBOL, and there for think it's bad becasue its old and give crappy examples the show how ignorant they are.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  25. Re:Bollocks by geekoid · · Score: 2, Interesting

    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.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  26. Re:Why is Cobol hated? Recursion by neonsignal · · Score: 3, Insightful

    Ever tried doing recursion in early Cobol? Maybe they've fixed this in later versions, but in the past the return pointer was stored in program space at the head of the function. This means that if you ever had any recursion, the return would loop back forever. How's that for a 3rd generation imperative language? You have to implement your own call stack!

    My main complaint is the verbosity of the language, and the clunky set of program flow verbs. It almost forced you to use GOTO (and indeed, many people used GOTO as a way of implementing exception logic).

    It had a couple of nice features for business applications: built in decimal arithmetic, and character-by-character print formatting (less messy than eg Fortran was at the time).

    It is "evil" in the sense of being a poor language to teach programming. It is not general purpose enough, which means that students of the language are being constrained in their thinking about how to solve problems ("crippling" the mind).

    I have no problem with using it as an application specific language, but surely now there are better choices even in that niche (for example the various database languages).

  27. As long as there are still mainframes by Orion+Blastar · · Score: 2, Funny

    there will still be COBOL.

    MOVE A TO B.
    COMPUTE GROSS-PAY = HOURS-WORKED * HOURLY-RATE
    SET MY-INDEX TO 1
    SET ADDRESS OF MY-LINKAGE-SECTION-ITEM TO MY-POINTER
    READ TRANSACTION-FILE INTO TRANSACTION-RECORD-WS

    MOVE 2101 to AD
    BEGIN WAR
    SET CAPTAIN = "What happen?"
    SET MECHANIC = "We get signal"
    SET CAPTAIN = "What?"
    OPERATOR MAINSCREEN = TURN-ON
    SET CAPTAIN = "It's you!"
    SET CATS = "How are you gentlemen?"
    SET ALLYOURBASE = BELONGTOUS
    SET YOU = AREONTHEWAYTODESCTURCTION
    SET CHANCE != SURVIVE
    SET LAUGH = "Ha ha ha ha"
    OPERATOR CAPTAIN = "!!*"
    SET CAPTAIN = "Take off every Zig"
    MOVE ZIG FOR GREAT-JUSTICE

    --
    Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
  28. Let me ask you, what would you replace COBOL with? by u2pa · · Score: 2, Insightful

    I keep hearing "COBOL is dead", "COBOL IS NOT DEAD".

    But if COBOL were to go, what could replace it?

    Requirements would have to include:
    - performance (when processing millions of transactions)
    - reliability (both hardware & software base)
    - maintainability of code (easy for someone to take a program they never seen before, and make needed changes)
    - follows business logic
    - widely used

    --
    Officially: "No comments"
  29. Cobol is cool :) by clueless_geek · · Score: 2, Informative

    i am 20 something... i code in cobol for a bank... its their core banking solution... a microsoft system that was to integrate with the Mainframe was unable to handle the speed with which data was posted to it...(the mainframe is 39 years old, surpring a new language on a new platform couldn'thandle it LOL... an earlier attempt to migrate the system to java failed when the new application was twice as slow with only a portion of logic .. ) we are short on good cobol developers... thankgod we have a team of folks from india who are now busy coding in cobol and earning big bucks... yes cobol is old ... yes it is museum material but it does the job and combine it with mainframes ... the speed and reliability is unmatchable...

  30. Bank failure, explained... by Alonzo+Meatman · · Score: 2, Funny

    Merril Lynch reports that 70 percent of its business runs on Cobol apps.

    That explains a lot.

  31. COBOL on .NET with GTK# by caseih · · Score: 2, Interesting

    This pretty much blows my mind:

    http://www.sorn.net/media/photos/blog/cobol-gtk-sharp.png

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