COBOL TIPS #25
Shawn M. Gordon
President S.M.Gordon & Associates
COBOL continues to live, despite the repeated cries of “The king is dead, long live the king”. COBOL is still the most widely used language on the planet, which makes it suprising that it seems to get ignored so much. The latest statistic that I have seen is that there are over 2 million COBOL programmers and 200 billion lines of COBOL code, representing over 20 million man years of work. That isn’t going to go away anytime soon, it also represents about 80% of the total program code that is out there, and over 60% of the new development. So should you despair?
There is hope however in the guise of the recently formed Cobol Foundation. The Cobol Foundation was founded by David McFarland, and I am embarressed to say that I didn’t know who he was. He was one of the founders of Ryan-McFarland which developed over 150 unique compiliers, he personally has designed numerous compiliers and operating systems, which is way closer to the machine than I care to get. Ryna-McFarland is a now a division of Liant, and they also make a COBOL environment.
The purpose of the foundation is to promote COBOL in whatever ways possible, through presentations, consulting, editorials, etc. Vendors can become members by paying a modest fee, this get’s them visibility basically. Supporter status is available for all organizations that are actively writing in COBOL for a fee of $500. For individuals there is no fee at all.
You can find out more about the Cobol Foundation by either e-mailing;
or looking at their web page;
One of the most exciting things that I found out from Dave in our conversation was about a product coming out from Liant’s Ryan-McFarland division called VanGui. This product is supposedly a real Visual Basic type program that uses COBOL syntax. That’s right, a total visual environment that allows you to attach COBOL code to events. It even supports the Visual Basic eXtension libraries (VBX), which is a critical piece. So I gave Liant a call and asked to get a demo to evaluate, hopefully I will get it someday soon, it has already been two months. I don’t want to get to excited, because I have been dissapointed so many times in this arena. From what I found out though, there is going to be a run time cost associated with it. This one factor is what is going to kill any big acceptance of the product. I don’t know why these COBOL vendors don’t figure out that they will sell way more copies of their products if they remove the run time cost, look at Visual Basic and Delphi, they have sold huge numbers of copies and at a modest cost too. As I pointed out earlier, there is a huge market for something like this, I just wish I was capable of building this kind of application, I would be a billionaire.
IBM has also been announcing their new Object Cobol for OS/2, MVS, and AIX, they are supposed to have Windows next year sometime. This product also appears to follow the same visual development paradigm using real COBOL code as the language. I will take a look at it as soon as it hits Windows. MicroFocus is supposed to have some new stuff, but I keep loosing track of all the various permutations of their software. SINC has a new GUI for their COBOL 4GL tools, which I will probably also review later in the year.
To wrap up this month I am going to show you the latest letter I got from John Zoltak on formatting dates. Seems the debate will never end. There is one obvious flaw in John’s idea, and that is it’s dependence on the variable names of YYMMDD being the same between the two variables. You could take care of it by adding another parameter which would move your own date variable to IN-DATE and then do the MOVE CORRESPONDING from IN-DATE to OUT-DATE. Thanks again for the input.
Shawn, I just read the October Interact with your article about date conversion. I’m amazed that no one proposed a solution that uses one of COBOL’s strengths, CORRESPONDING MOVES! I don’t want to be a pain and nit-pick this to death,
but here it is.
01 IN-DATE. 05 YY PIC X(2). 05 MM PIC X(2). 05 DD PIC X(2). 01 OUT-DATE. 05 MM PIC X(2). 05 PIC X(1). 05 DD PIC X(2). 05 PIC X(1). 05 YY PIC X(2). %DEFINE %FMTDATE= MOVE ALL "/" TO OUT-DATE MOVE CORR IN-DATE TO OUT-DATE#