in reply to Intended use and unintended use. An insight into design.

Okay, JanneVee, here we go again :) I didn't respond to this post right away because I wanted to take time to think about it. You say "COBOL has a purpose" and I have to agree. However, I think we will disagree on what that purpose is.

Imagine that your grocery store is 5 miles away. Every day you walk to the store because you can't afford a bike or a car. Because you walk, you can only buy a day's worth of food and your forced to waste a lot of time every day walking. One day, someone offers to sell you a car for the cost of a months's worth of groceries. Do you do it? Not if you want to feed your family, even if the car is a better choice.

COBOL vs. Perl is walking vs. driving. At my last job, management (but not the programmers) knew that COBOL was not the best choice. But the cost of switching was so prohibitively high. The programmers must be retrained, licenses for the new languages may be necessary, the old system needs to be analyzed and determine what is necessary for the new system (many systems contained hundreds, if not thousands of jobs, thus making this incredibly expensive). Further, all systems that connect to yours need to be analyzed. Then, after all of this is done, starts the process of designing, getting approvals, coding, testing, debugging, getting sign offs, implementing, and then fixing everything you missed. And remember: either you've retrained COBOL programmers to do this, in which case they're newbies in the new language (Yikes!), or you've hired a new staff which doesn't know the system (Yikes!).

Continued in a reply, because I was cut off.

  • Comment on RE: Intended use and unintended use. An insight into design.

Replies are listed 'Best First'.
RE: Intended use and unintended use. An insight into design. (Continued)
by Ovid (Cardinal) on Jun 21, 2000 at 21:31 UTC

    Converting from COBOL is often prohibitively expensive, given the massive size of the systems they run. When I mentioned that a system could have hundreds or thousands of jobs, I also should have mentioned that a company can have hundreds or thousands of systems. We did.

    So what is COBOL's "place?" It's for companies who have to walk because they can't afford to buy a car. Why is IBM, the makers of the Big Iron that COBOL usually runs on, banking on Linux? Because new companies aren't choosing COBOL. COBOL is dying a sad, slow, but much deserved death.

    COBOL is walking, modern languages are driving. COBOL is the horse and buggy up against the automobile. It's the dinosaur vs. the mammal.

    For those Monks who are curious as to the genesis of this discussion, check out Perl: Survival of the Fittest.

      Of course... If Cobol is like walking, I should point out that you can't drive everywhere. i.e. the purpose of COBOL is to walk where you have to walk. It is damn expensive to make roads everywhere... To continue the analogy.

      Also walking requires different skill than driving. Like uhm... you don't need a license to walk ! .... That means also that you won't spend time walking to the wrong place. You have a goal. When you drive it isn't that expensive when it comes to time when you drive wrong. And so on...

      As for Dinosaurs vs. Mammals... There are a few dinosaurs left... the crocodiles are descendents from the dinosaurs. They are quite succsefull predators aren't they?

        Wow. I've never seen anyone beat a horse to death with an analogy :)

        The problem with analogy, of course, is that it can be confused with Truth when it is intended simply for illustration.

        Considering the tremendous overhead involved with getting a mainframe up and running, why would any new company throw away the car keys and use COBOL? For an established company that is already entrenched in COBOL, the "overhead" is a sunk cost. Converting to different languages would involve an analysis of future costs and those costs may be unsustainable.

        To slightly skew the analogy, how many of us have bought a new car, had it turn into a beater over the years and have spent so much money fixing it that we can't afford a better car, but know we need one?

        JanneVee, I'll make you a deal: if you can show me a cost-effective reason why any new company would use COBOL, I will admit my error and tell everyone how you have humbled me with your wisdom :)

RE: RE: Intended use and unintended use. An insight into design.
by buzzcutbuddha (Chaplain) on Jun 23, 2000 at 20:27 UTC
    Actually, I would say that Perl is like Toyota. Toyota makes many many many types
    of motor vehicles, from small motorbikes to helicoptors and just about everything in
    between. If Perl/Toyota can't get you there, well then.

    COBOL is like my old 1977 Thunderbird. Innovative in it's day, powerful for it's time.
    It still runs now, though not as good as it could, and it's wasteful because it
    has that big steel frame (Sections, Paragraphs, etc) that weigh it down. People still drive the
    COBOL Thunderbird, some people still enjoy it, and there are still mechanics who will
    work on it. Hell there may even be a factory somewhere that still makes brand new ones.

    But I don't drive it anymore. If someone else wants to drive it, so be it. I prefer something
    smaller, nimbler, and cheaper on the gas...

    Cheers! :)