Matthew Saltzman wrote:
On Wed, 2008-04-02 at 09:48 -0700, Les wrote:
On my punch cards they did. Every card had a number sequential to the
sequence. The punch we used inserted them automatically. Well, the
programming card did. The reference number used for calls may have been
different, but I don't remember it.
Those weren't line numbers per se (in the sense that BASIC had line
numbers, for example). In FORTRAN, an 80-column card was divided into
fields:
Column 1: 'C' indicated a comment line, ' ' a code line.
Column 2-6: Statement label numbers. These were arbitrary numbers used
as targets for FORMAT, GOTO and "computed GOTO" (now *that* was a flow
control concept!), and DO statements. These did not have to obey any
ordering rules. There was no concept of an if-else block or a while
loop with a logical test, so flow control was handled by GOTOs of some
variety. Targeted statements were usually CONTINUE statements (no-ops),
because there was some ambiguity regarding when the targeted statement
was actually executed, and because it made reorganizing the flow a bit
easier (especially with punchcards[1]).
Column 7-72: Code.
Column 73-80: Ignored. Intended to be used for sequence numbers so you
could sort the cards down in order if somebody dropped the deck. The
numbers could be anything really, for example a three-letter alpha code
identifying the deck and a four-digit sequence number.
(Somebody is bound to correct me on the actual column numbers, now...)
Aside: In the early FORTRANs, the body of a loop was always executed
once, even though the test was at the top of the loop. So you needed a
guard if you wanted to avoid making any passes through the loop at all.
That changed with FORTRAN 77.
[1] Of course, you'd want to re-sequence cards at some point if you
reordered them.
Our programs were HUGE, multiple trays. Each tray was denoted by the
color of the diagonal line. We had 8 colors, so I guess we never had
more than 8 trays, because I don't remember pairs of lines anywhere.
Regards,
Les H
On Wed, 2008-04-02 at 11:27 -0500, Mikkel L. Ellertson wrote:
Les wrote:
On Tue, 2008-04-01 at 20:36 -0700, Richard England wrote:
Try dropping two trays , each about 2.5 feet long. They did that to me
in the data center when I was in grad school. Luckily I had just
printed they contents out and resequenced them. The manager of the data
center had a cow when I told the staff to put the deck back together,
but my advisor (bless him) stood behind me and insisted that if they had
taken due care it wouldn't have happened.
Ah cards, loved 'em (not). And drum cards. Boy there was an arcane art!
~~R
Did you have the diagonal line drawn on the top to help?
If they were Fortran, or COBOL, you could always sort on the line
number. I don't remember the other languages having line numbers.
Regards,
Les H
Are you sure about Fortran and COBOL having line numbers? I didn't
use COBOL enough to remember any more, but I remember only using
line numbers or labels in FORTRAN if they were the target of a
branching instruction.
Mikkel
--
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
You always incremented your statement numbers by 10 so when you had to
add a loop or goto you could add at least 9 before you had to redo all
the statement numbers.... tip from an almost geezer (hey you are not a
geezer, you're an "experienced person").
~~R
--
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list