[sci.space] COBOL vrs Ada

kent@xanth.UUCP (Kent Paul Dolan) (08/23/87)

One correspondent wrote:  Ada is the COBOL of the 70's.

This was probably meant as a slam, but really it is a compliment.

Aside from the nit that Ada(tm) didn't really exist until January 1983 (the
publication date of ANSI/MIL-STD-1815A-1983 American National Standard
reference manual for the Ada programming language, affectionately
known as the Ada LRM, so Ada is probably the COBOL of the 1980's,
instead.

Last time anybody bothered to count up, 80% of all operational
commercial software, WORLDWIDE, was written in COBOL.  (Reference si
from a cComputerworld about three years back, and no, I can't find it
again, and yes, it probably depends on how you define all those
words.)  COBOL is over 20 years old, and has survived from an era of
machines whose internal arithmetic was really decimal numbers,
millisecond gate speeds, and massive 10K's of words drum storage, to
an era of parallel processors, 64 bit binary arithmetic, nanosecond
and even picosecond gate delays, and casual specifications of
gigabytes of secondary storage.  In that period, the standard has
required just two upgrades.

The lady, CAPT Grace Murry Hopper, who gave us COBOL is, despite
Countess Ada, probably the most respected female figure in the
computing field (can Adele Goldberg be far behind?), which might
indicate that the language still retains a bit of respect somewhere.

Another correspondent says, roughly, that COBOL is an out of date
antique, that nobody is writing COBOL code anymore, only a few
(million) drudges are maintaining old COBOL code, that you can't do
anything significant in COBOL anyway, et cetera ad nauseum.  Amazing
what ignorance can accomplish!

Since, in most schools, CS and MIS split long ago, since COBOL shops
and gee whiz bang programming shops don't usually mix, and since most
CS departments leave the teaching of COBOL to the MIS folks, it is
(just barely) possible to believe someone being this isolated from
reality, but still!  My _Mom_ writes COBOL (one of the little old white
haired ladies programming for the Post Office department), my brother,
as vice president of a programmer "body shop" can place all the COBOL
programmers he can get his hands on, the folks I am consulting for,
ditto, and even I (blush) have been known to COBOL a bit, when
nobody's looking.  I've seen parsers, language translators, graphics,
even bit twiddling routines written in COBOL.  After all, it _is_ a
general purpose programming language.  I've never seen an operating
system written in COBOL, but with its excellent capabilities to define
and redefine complex structures, it seems like a natural to do.

Ada, if it is very, very lucky, may have as much success as COBOL.
This still seems a bit iffy, since some features of Ada seem a poor
match for the target problem set, in particular the restrictive
rendezvous paradigm of intertask synchronization, the bizzare
visibility rules and overly complex data range controls (Couldn't DOD
at least have said: "all computer word sizes will be powers of two,
and all arithmetic will be two's complement"?  After all, they are
specifying the hardware, too!), and the lack of programmer control
over task spawning, to name a few.  It is a shame the development of
compilers was so slow that the language had to be frozen before there
was any practical experience using it.  (Yes, I am aware of all the
work with subset compilers before Jan. 1983.  I don't count that as
practical experience.)

In spite of all this grousing, I am an avid Ada supporter; Ada does
too many things right to be ignored; I just don't like seeing COBOL
take a bum rap.

Kent, the man from xanth.