XML alternatives [was Re: [Beowulf] What services do you run on your cluster nodes?]
George Wm Turner
turnerg at indiana.edu
Fri Sep 26 11:10:33 PDT 2008
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" <hodgestar at gmail.com> 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 at beowulf.org
> To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf
More information about the Beowulf
mailing list