XML alternatives [was Re: [Beowulf] What services do you run on your cluster nodes?]

Lux, James P james.p.lux at jpl.nasa.gov
Fri Sep 26 07:23:15 PDT 2008

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

More information about the Beowulf mailing list