On 12/31/2005 at 8:45 AM Nico de Jong wrote:
>vertically divided. For Cobol, you could see e.g. that the first 3
columns
were blank, the
next 3 numbered from 010 to 300 or so, then a divider
between between 15 and 16 (IIRC), and again "around" col. 73 (marking for
Continuation Line).
IIRC, the first six columns were "programmer sequence numbers"; ( i.e.,
the
compiler didn't really care about them, but would
issue a warning if they
were out of order) divided into two groups of three (1-3 were the page
number, 4-6 were the line number). Most folks just left them blank.
Right.
Column 7 was the continuation; an asterisk in this
column signified a
comment card;
Right again, I think my memory bits are rotting a bit.
any other non-blank signified a continuation. Area "A"
started in columns 8-11 (Used for divison and section
headers and
paragraph names and 01 and FD level items, etc.); Area B (used for
everything else) started in column 12. And, as in the case of most other
card-oriented languages, 73-80 were reserved for sequence numbers or other
identification, should you drop the box containing your source code.
Right. I once made up a deck-copying "program" for the IBM 517 (or was it
519, the card reproducing punch)
You could toss in your unnumbered ( or numbered, but with "holes" in the
sequence, or whatever), and it would produce a new deck, but without print.
Off to the punch room, where they had some 029/129's which could read the
cards and print on the top line.
Those were the days...
In spite of its starting out as a language using
more-or-less English
sentence syntax, COBOL is a tough language to learn because it's quite
large, particularly if you consider all of the variations of data types
and statements (e.g., how many variations of the INSPECT statement can you
think of?).
It's a long time since I used INSPECT. I can only remember something with
INSPECT ... SPACES...., but those bits have rotted away...
Apart from that, COBOL is a nice language, if you keep away from the more
sinister things like INSPECT, ALTER TO PROCEED TO, REDEFINES in more then 2
levels....
Some nice things are GO TO DEPENDING ON (if you use it carefully), PERFORM
VARYING (but that got _ugly_ very fast).
For commercial purposes, the record layouts etc are very nice and easily
deciphered. Overall, I like it better than PL/I
Nico