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(a)redhat.com
> To unsubscribe:
https://www.redhat.com/mailman/listinfo/fedora-list
--
Matthew Saltzman
Clemson University Math Sciences
mjs AT clemson DOT edu
http://www.math.clemson.edu/~mjs