Another bit of FORTRAN trivia: the first card readers could only read 36 columns at a time and they made two passes over the card; hence, 72 columns per card.

...we now return you to your regularly scheduled off-topic diversion.

george wm turner
high performance systems
812 855 5156



On Sep 26, 2008, at 10:23 AM, Lux, James P wrote:




On 9/26/08 3:56 AM, "Simon Cross" <[EMAIL PROTECTED]> wrote:

Fortran was bad because you had to line things up in particular
columns [1]. The "significant whitespace is bad" was really just a
slogan for "we don't like how early versions of Fortran did things".
Python (and Haskell) don't work like early Fortran did either.

[1] This seems to have been the result of mapping the code to punch cards.

Schiavo
Simon


Seems?  Certainly..
Remember, first came binary on cards.. Then machine code style assembler, with hard fields by column (e.g. Address Opcode Operand1 Operand2) which could be translated (parsed implies more than actually is done) on a field
to field basis by ElectricAccountingMachinery (EAM) programmed with
plugboards. (I can't say I ever did a LOT with plugboard programmed EAM equipment, since it was finally falling out of use in the late 70s, but it
did still exist, and I did do a thing that did tabulation of totals)

Then came real assemblers, with Oooh symbols.. But not necessarily Macros But they retained the columnar format because it's easier to program.. No
need to search through a "string" for a delimiter or whitespace.. The
concept of which was pretty darn bold and the province of weird guys and gals working with languages like SNOBOL. Nope, the card image wound up in an
80 character buffer, and you KNEW that the opcode would be in, say,
characters 8-12, so you could just compare that word against a table of
words to translate the opcode.

Against that background, you have FORTRAN.. Of course the line number (if you need one) goes in columns 1-5. Of course you need some way to deal with statements (formulas) that are longer than will fit in the remaining columns up to 72, so the continuation flag is in col 6. The last 8 columns are for a sequence number, so that if you dropped the deck, you could run it through the card sorter and put it back in order.. If you were really clever, you set the keypunch to generate the numbers automatically with a suitable drum card (and if you were really clever, you incremented by 10s, so that if you made an error or small change, you could intersperse it) (note that sorting a 1000 card deck requires 4 or 5 passes through the sorter, since it does one column at a time.. "Intro to data processing" classes in the early 70s
taught you how to do this.)

Fortran II, as I recall (I'm sort of hazy on this) actually required you to put a character in Column 1 that told the compiler what kind of operands there were in the formulas (e.g. Integer, Real, etc.), but I started with Fortran IV in 1968 so I don't know for sure. I just remember books that
talk about how wonderful it was that you didn't have to do the col 1
character.


_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org
To change your subscription (digest mode or unsubscribe) visit 
http://www.beowulf.org/mailman/listinfo/beowulf

_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org
To change your subscription (digest mode or unsubscribe) visit 
http://www.beowulf.org/mailman/listinfo/beowulf

Reply via email to