From: morrow@romulus.rutgers.edu (John Morrow)
Newsgroups: alt.cobol
Subject: Re: The future of COBOL?!?!
Date: 31 Jul 92 01:06:59 GMT
Organization: Rutgers Univ., New Brunswick, N.J.

rca@csd4.csd.uwm.edu (Robert C Allender) writes:

>After reading one of the responses to "The Inevitable Question" I was
>compelled to ask this of the COBOL programmers in the world:

>      The C language has caused a bigger uproar in the past few years than
>      Pascal did way back when.  Now there's the object-oriented C++ that
>      uses classes and promotes encapsulation and polymorphism.  Since a big 
>      problem with COBOL maintenance seems to be the endless patching of
>      endless patches in old code,  What do you think about these proposed
>      solutions that C++ supposedly offers?  

I, personally, do not think C or C++ will ever replace COBOL in one of 
the primary areas in which COBOL is used -- primarily business programming.
If COBOL DOES wind up getting replaced in this area, it will probably be
by a forth generation language or something like Natural that "looks like"
COBOL.

There are several very important reasons for this.

1) The sheer volume of existing COBOL programs linked with the current
   "lean and mean" approach that businesses have been taking make it
   unlikely that many businesses will be able to afford a major redesign
   of an existing system in the near future.

2) Many existing systems work very well.  There is even less reason to
   replace a system that works.  Remember, the people that often make this
   sort of decision are management, not programmers or analysts.  When
   programmers and analysts DO have input, see (5) below.

3) Many of the applications written in COBOL don't really need the
   features of a "data structures" language like C.  Bit level management
   is not necessary for most accounting and record keeping functions.
   Many "data structure" type functions also can be performed outside of
   COBOL programs using either sort utilities or a pre-existing database
   interface such as VSAM, Adabas, or DB2.

4) Many of the programmers who write in COBOL are not "computer scientists".
   They know no language other than COBOL and would have trouble adapting
   to a "scientific" looking language such as "C".  Companies filled with
   programmers hired to program in COBOL would have trouble training large
   numbers of people in an entirely new system.  Firing large numbers of
   people and hiring new ones is not only difficult but has a severe
   impact of moralle and causes the loss of large amounts of experience.

5) Due to (4), many people who were hired to, say, run a mainframe or
   program in COBOL have a vested interest in making sure the company
   CONTINUES to do things as usual.  Upgrades are one thing but new systems
   are another.  The Wall Street Journal had an article on this a few years
   ago to the effect than many MIS departments resist using micro-computers
   because they are mainframe people and it would put them out of work.

6) COBOL, in my opinion, is MUCH easier to maintain than C.  If I hand
   you a standard C program and a standard COBOL program that does the
   same thing, written by someone you don't know, I bet you could more 
   easily figure out what the COBOL program is doing, PERHAPS EVEN IF 
   YOU DON'T KNOW COBOL.  (I am willing to discuss this point if you want).

7) The same COBOL code you wrote 20 years ago can always be brought back
   in if you need it.  If you toss COBOL and go with C or C++, you could have
   problems.

8) Many of the existing files/datasets used by companies presently using
   COBOL are formatted with COBOL working storage and file I/O in mind.
   Changing languages could require large amounts of data reorganization.

9) COBOL is probably more forgiving than C and easier to debug.  I assume
   similar statements could be made about C++ but I may be wrong.

In general, the above issues might not be a factor for a small company
with a few hundred records, a few dozen programs, and three good
programmers.  But when you get into large corperations with hundreds
of employees, thousands of programs, and millions of records, it
becomes more of a problem.  I have little doubt that COBOL will be
around for decades -- perhaps as COBOL 99 with new features such as
recursion and pointers -- but with COBOL syntax none-the-less.  Companies
have invested too much in it to drop it, expecially if their current 
system works which it usually does.

>I'm certain that this will be an interesting debate!  

I look forward to seeing what others have to say.

John Morrow
morrow@remus.rutgers.edu

PS - And remember -- we are mutants here.  Many COBOL programmers work
     on IBM MVS/OS machines with no net access.  Academia does not 
     necessarily represent the real world.