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  
> 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