John Backus passes away...
roger.holmes at microspot.co.uk
Wed Mar 21 15:39:07 CDT 2007
> From: "Chuck Guzis" <cclist at sydex.com>
> On 21 Mar 2007 at 12:12, Roger Holmes wrote:
>> I used Fortran 4 on the IBM 7094 at Imperial College London. I
>> remember one day the compiler reported:
> I used FORTRAN II under FMS II on the 7090 but never saw a FORTRAN IV
> implementation there. It's been entirely too long ago, but, as I
> recall, one punched a "B" in column 1 for boolean expressions, "D"
> for double-precision and "I" for complex, as FORTRAN II still relied
> on implicit typing for variables.
> One of the most diagnostic-bald versions of FORTRAN I ever used was
> the "USA BASIC FORTRAN" under DOS/360. The thing couldn't have had
> more than about 10 diagnostic messages, most of them single-word.
One of my bosses at Marconi Avionics thought that compilers should
only have one error message because as a compiler cannot find all
errors (such as a mistyped number), you should not rely on it to find
errors in your programs. You should only ever submit 100% correct
code to the compiler. I think he worked on the Jaguar aircraft's
flight program, so there is some justification in that field where a
software error could cause a fast jet to take out a street or two of
>> I was used to syntax error messages by the dozen but this was the
>> first time I had seen the compiler correct an error and run the
>> job. Of
>> course we are used to warnings now, but I think it was that one
>> got me interested enough in compilers to eventually get a job
> Pat could probably fill in details here, but Purdue for many years
> used 7090/94's to run a student variant of FORTRAN called PUFFT. The
> basic idea was for the compiler to 'fix" as many errors as possible
> so that a program would run somehow. I believe it was described by
> Saul Rosen in an ACM paper and republished in one of those
> "Programming Languages Survey" books. IIRC, the 709x were also used
> as I/O front ends for the CDC 6600 there, which ran Purdue's own
> variant of MACE, rather than the more-or-less standard SCOPE. Greg
> Mansfield was pretty proud of that.
It was indeed PUFFT that I used, around 1969 when I was a schoolboy.
>> If you stuck to floating point and small numbers but there were big
>> problems with word length variations when using integers.
> IIRC, the 32-bit floating point word (with 4-bit normalization
> granularity) of S/360 cost IBM a bunch of business in the
> "scientific" world. It had one of the lowest-precision FP
> representation of big iron at the time. I believe that IBM
> eventually remedied this with "extended precision".
Interesting. I guess that's why, after the 7094, the University of
London used no(?) IBMs, just CDC and ICL machines until minis came
>> I seem to remember that some of the people who taught me to program
>> considered Fortran to be too close to the 7094 instruction set, in
>> particular they said the computed goto mapped directly onto a 7094
>> instruction and
>> hence considered it to be not very universal, and to support it
>> would be to
>> assist IBM in its domination of the computer market.
> That must have been some clever propganda on the part of someone!
> But conspiracy theories have always been popular. Computed GOTOs
> weren't exactly the dominant feature of most programs--and they were
> implemented as simple indexed jumps for the most part--a feature
> scarcely unique to IBM hardware!
> For small systems, FORTRAN was amazingly useful. The other day, I
> ran across some code that I wrote for CP/M to convert between ISIS-II
> and CP/M file formats--in FORTRAN.
> Compiler design has come a long way since. In the 1970's, I recall
> that a co-worker pushed a PTR in front of my face that was, frankly,
> quite surprising. CDC FTN for years allowed an alternative way of
> expressing Hollerith constants using any arbitrary delimiter
> character, so 5HCHUCK and H*CHUCK* were equivalent ways of expressing
> the same constant. Most people used asterisks or the not-equal
> symbol (the standard character set didn't have quotation marks), but
> the compiler would allow just about anything.
> The statement in question looked something like this:
> 100 FORMAT( HX)=(1+BX )
> Recall, that prior to FORTRAN 90, FORTRAN had no reserved words.
Yes that does look weird at first sight.
Probably later version of Fortran were better, but version 4 was just
so restrictive, after using Algol's For..Step..Until..Do.. with
expressions, I could not really go back to Fortran IV's for
statements with single, simple unsigned integer constants for the
start, end and step values.
More information about the cctech