XML alternatives [was Re: [Beowulf] What services do you run on your cluster nodes?]
Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.
Lux, James P james.p.lux at jpl.nasa.govFri Sep 26 07:23:15 PDT 2008
- Previous message: XML alternatives [was Re: [Beowulf] What services do you run on your cluster nodes?]
- Next message: XML alternatives [was Re: [Beowulf] What services do you run on your cluster nodes?]
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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.
- Previous message: XML alternatives [was Re: [Beowulf] What services do you run on your cluster nodes?]
- Next message: XML alternatives [was Re: [Beowulf] What services do you run on your cluster nodes?]
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Beowulf mailing list
