Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Modernizing the Common Language - COBOL 347

Frumious Wombat writes "Over at the Register Developers section, they are quoting the head of research for Ovum Consulting on the continuing dominance of COBOL in certain business applications. The antique language accounted for 75% of all business transactions last year, and some 90% of financial transactions. For all the time spent arguing the merits of Ruby vs. C#, should the community spend more time building tools to make COBOL livable? The article goes into what it terms 'legacy modernization', and lays out some details on how to go about it. From the article: 'The first stage in the legacy modernization process is to understand the business value embodied within legacy systems. This means that developers must give business domain experts (business analysts) access to the legacy, using tools that help them find their way around it at the business level. Some awareness of, say, COBOL and of the legacy architectures will be helpful but we aren't talking about programmers rooting around in code - modern tools can automate much of this analysis for staff working at a higher level.'"
This discussion has been archived. No new comments can be posted.

Modernizing the Common Language - COBOL

Comments Filter:
  • by minginqunt ( 225413 ) on Friday January 05, 2007 @12:38PM (#17474952) Homepage Journal
    Modernize? Pah.

    Why not just rewrite it in PHP. Another 30 years of guaranteed fat support contracts. Always think of your potential pay-packet.
  • by (H)elix1 ( 231155 ) <slashdot.helix@nOSPaM.gmail.com> on Friday January 05, 2007 @12:44PM (#17475066) Homepage Journal
    One of my friends who ends up porting and bridging Cobol systems was quick to inform me, "COBOL is OO, look, see, print line is extending space".
  • by eln ( 21727 ) on Friday January 05, 2007 @12:46PM (#17475104)
    Don't even suggest writing it in PHP, because then we'll spend the next 5 years arguing over how it should be done. You'll end up with an endless argument about whether it should be done in PHP or Python. Then a group of crackpots will pipe up from the corner that it should all be done in Ruby on Rails. Then a single scruffy looking dude will say the whole thing could be done in 5 minutes with 3 lines of Perl, and in fact he just wrote it. The others will unite for 5 seconds, long enough to say Perl is an ugly language, and resume their argument.

    This will go on for years until the executives give up and hire an outside consultant who will do the whole thing in Java. It will be bloated and inefficient, and the UI will be ugly. People will begin dreaming about rewriting it. Eventually, someone will suggest re-writing the whole thing in PHP...
  • by symbolset ( 646467 ) on Friday January 05, 2007 @12:51PM (#17475182) Journal
    The Tao of Programming, 1:2 : [canonical.org]

    The Tao gave birth to machine language. Machine language gave birth to the assembler.

    The assembler gave birth to the compiler. Now there are ten thousand languages.

    Each language has its purpose, however humble. Each language expresses the Yin and Yang of software. Each language has its place within the Tao.

    But do not program in COBOL if you can avoid it.

    Observe the wisdom of the Tao
  • by srmalloy ( 263556 ) on Friday January 05, 2007 @12:51PM (#17475186) Homepage
    I understand there is already an object-oriented version of COBOL extant, which, according to the existing naming convention for the OO version of an existing language, was called ADD_ONE_TO_COBOL_GIVING_COBOL.
  • by Anonymous Coward on Friday January 05, 2007 @12:52PM (#17475200)
    No.. it had it's time, please let it die.


    Yeah, when I saw "Modernize" and "Cobol" in the same sentence I wanted to gouge my eyes out with a Kentucky Fried Chicken spork.

    Cobol makes baby Jebus cry!
  • by BigGar' ( 411008 ) on Friday January 05, 2007 @12:54PM (#17475250) Homepage
    Just merge C, Ruby, & COBOL syntax into one compiler.
    Now coders can start migrating away from Cobol without the hassle of rewriting entire programs. They can do it one line at a time, as they get to it.

    Now if we could just merge Java, & Perl in there you'd really have something.
  • by Lemming Mark ( 849014 ) on Friday January 05, 2007 @12:56PM (#17475276) Homepage
    ...hear my prayer!
  • by dildo ( 250211 ) on Friday January 05, 2007 @01:01PM (#17475374)
    When asked about how to improve Pittsburgh, the famous architect had an immediate reply:

    "Abandon it."

    Cross out 'Pittsburgh', replace with 'COBOL', you get the idea.
  • by Tackhead ( 54550 ) on Friday January 05, 2007 @01:06PM (#17475464)
    > Yeah, when I saw "Modernize" and "Cobol" in the same sentence I wanted to gouge my eyes out with a Kentucky Fried Chicken spork.

    Add MODERNIZATION to COBOL giving (MESS given by ADDITION of (SPORK given by ADDITION of FORK to SPOON) to EYES)

    That's the modern version. It woulda taken me three lines to do it the old way.

  • by plopez ( 54068 ) on Friday January 05, 2007 @01:15PM (#17475582) Journal
    You forgot:

    "While the FOSS zealots are flaming each other a MS partner shows up and sells them a set of cut rate licenses and thells them how easy it is to develop in VB .Net. When the programming staff here of this they quit. "No problem" says the partner, who then introduces them to an Indian offshoring company who sells them a bushel of VB programmers. THe VB programmers muck up the job, requiring bringing in another consulting firm. The consulting firm says "No wonder you can't get it to work, you need to upgrade to the latest MS software!" and sell mgt a firkin of rather more expensive licenses.

    The offshoring company still doesn't get it so mgt decides to reel the project back in. They hire a hogshead of onshore VB programmers who kind of sort of get it to work, though it still relies on the legacy system to do the heavy lifting. The project is deemed a success, and goes into a (very expensive) maintnenence mode. The managers spruce up thier resumes and bail.

    Meanwhile, in the basement grandpa/ma is sitting in a rocker whittling a new toothpick and keeping the legacy system running. Day by day grandpa/ma marks off the days to retirement after which all hell will break loose. Unless you hire gramps back as a consultant at 3x previous salary".

    There, hope this helps.
  • by goombah99 ( 560566 ) on Friday January 05, 2007 @01:40PM (#17476066)
    Blasphemy. Rewriting the sacred text of the colonies. Where's Cmdr Adama?
  • by morgan_greywolf ( 835522 ) on Friday January 05, 2007 @01:52PM (#17476292) Homepage Journal
    (the sole purpose why the language was built, thus why they named it COMMON BUSINESS ORIENTED LANGUAGE)


    Yeah, I guess you must be a COBOL programmer, since you seem to like TYPING IN ALL CAPS.

    Anyway, the appropriate acronymical expansion of COBOL is 'Confused Oriental Bean-cOunting Langauge.'

    Oh, BTW, how's the fingers? Stubs yet? ;)

  • by gillbates ( 106458 ) on Friday January 05, 2007 @02:36PM (#17477060) Homepage Journal

    can't replace the existing 200 billion lines of code.

    Sure you can. A 20 line Perl script would probably work just as well.

    And you can't maintain 200 billion lines of COBOL, either.

    But seriously, COBOL is so verbose that the 200 billion lines of COBOL could probably be replaced by 100 million lines of C++ or Java. And it would be more maintainable. COBOL exists to keep programmers employed; consider what it provides for the programmer:

    • Job Security: Everything is global - the programmer must keep the whole program, and all the programs called by it, and the programs that call it, in his head. Naturally, learning a complicated system takes time, meaning that the SYSTEM PROGRAMMER can't be replaced at the drop of a hat. If you fire him, you'll have to bring in EXPENSIVE CONSULTANTS until you can find the other programmer in your state who knows COBOL.
    • Ease of use: No pithy naming standards to follow (unless enforced by the organization). No need to limit the scope of procedures (Hey! - everything's global, so why not put it all in one subroutine! Yay!). No complaints about inadvertently modifying variables you shouldn't, no type checking (real programmers don't need it...) etc...
    • Big Money: You are one of the two available programmers in your state who know COBOL. The other one wants a second house in the Caymans, though you prefer the lakeside cottage in Wisconsin. Unless the company wants to hire EVEN MORE EXPENSIVE CONSULTANTS, they'll pay the salary to provide whichever house you choose.
    • Ability to use the CAPSLOCK without offending anyone. Just like you used to post on usenet!
    • Literacy skills: You'd never have to consider something complicated like "salary = (bonus + (hours * hourly_wage));" Instead, you have, in plain English:
      MULTIPLY HOURL-WAGE-IN-CENTS TIMES HOURS-LOGGED-FOR-THIS-EMPLOYEE-ONLY-NOT-INCLUDING- OVERTIME GIVING TEMPORARY-SALARY-FOR-THIS-WEEK.
      ADD TEMPORARY-SALARY-FOR-THIS-WEEK TO ONE-TIME-BONUS-FOR-SALARIED-EMPLOYEES-NOT-RECEIVIN G-PROFIT-SHARING.
      MOVE BY NAME TMP-EMPLOYEE-SALARY-CALCULATION-WORKSHEET-STRUCTUR E TO FINAL-EMPLOYEE-SALARY-WORKSHEET.

    But I jest, of course. The truth is, most businesses are so afraid of moving away from COBOL that they'd rather continue to shell out premium salaries than take the risk of a failed migration. Kind of like a lot of Windows users - they'd like to try Linux, but are afraid of change. Well, I suppose you get what you deserve.

  • by try_anything ( 880404 ) on Friday January 05, 2007 @05:43PM (#17480822)
    Java is popular because strong typing prevents bad programmers from being stupid.

    Not really. Compile-time type checking catches a certain amount of absent-mindedness and serves as a bit of extra documentation, no more. What Java really does is force people to do things the long, simple, stupid way instead of the clever way. Brian Kernighan wrote, "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." The same goes double for your coworkers, who did not write the code in the first place. Many people do not have enough discipline to refrain from cleverness in Perl or Haskell, especially Perl, where one person's everyday tool is another person's obscure little corner of the language.

  • by ejp ( 18891 ) on Friday January 05, 2007 @06:52PM (#17482028)
    Heck, I can do it in 2 lines of perl! :-)

Top Ten Things Overheard At The ANSI C Draft Committee Meetings: (5) All right, who's the wiseguy who stuck this trigraph stuff in here?

Working...