John Backus passes away...

Roger Holmes roger.holmes at microspot.co.uk
Wed Mar 21 07:12:38 CDT 2007


> Date: Tue, 20 Mar 2007 09:33:54 -0700
> From: "Chuck Guzis" <cclist at sydex.com>
> Subject: Re: John Backus passes away...


>
> Considering FORTRAN for what it was when it came out, it was pretty
> remarkable.  I recall an old ACM (was it SIGPLAN?) recollection of
> one of the first users of 704(?) FORTRAN.  What impressed me was that
> this compiler-on-cards pointed out a syntax error with message of the
> form:
>
> A COMPUTED GOTO REQUIRES A COMMA BETWEEN THE STATEMENT LIST AND
> VARIABLE. E.G.  GOTO (100,200,300),J

I used Fortran 4 on the IBM 7094 at Imperial College London. I  
remember one day the
compiler reported:

FORMAT MISSPELLED ON LINE xxx FORMAT ASSUMED.

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 which got me interested  
enough in
compilers to eventually get a job writing them.

> At one point in time, given machines with different character sets
> and word- and character sizes, FORTRAN was about the only way to
> write a portable program.  If the program involved, for instance,
> text manipulation, one included as the first card of the data file
> one punched with all of the characters of the alphabet to be used and
> read it into an integer array using 80A1 format.

If you stuck to floating point and small numbers but there were big  
problems
with word length variations when using integers.

>
> Did any computer built after 1960 NOT have a FORTRAN implementation?

Yes, my ICT1301 (155+ built from 1962 to 1965) had no Fortran compiler.
But then the line printer did not have any sort of parentheses. Not () 
[] or {}.
It had 1/4,1/2 and 3/4 though. I have a replacement print barrel with
round brackets instead if the 1/4 and 3/4 symbols but I have not  
fitted it
yet, and most 1300 series machines had the standard barrel.

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.

Not that I think that way, and of course it is Microsoft which now  
dominates
the computer market, I haven't seen a new IBM machine in years.

> IIRC, that was a big selling point for the PDP-8.
>
> There was a period in time where just about any serious programmer
> had a copy of McCracken on their bookshelves.

Maybe before my time (BSc Computer Science graduated 1974), but I
think most serious programmers had a copy of Knuth vol 1. (not to open
a thread on what defines a "real programmer", I expect that has been
done to death on this list long before I joined it).

>
> Didn't Backus also participate in the Algol-60 effort?

I don't know, but Algol 60 was defined using BNF.

>
> There were big sections of the CDC FTN compiler (prior to the
> introduction of SYMPL) that were written in FORTRAN.  One of the
> biggest nightmares was the processor for allocating storage in COMMON
> and EQUIVALENCE statements--a big mass of assigned GOTOs.  Even after
> I understood how it worked, I was afraid to touch it.

On the subject of being afraid to touch code, I worked on a compiler  
written
in a non recursive language (Coral 66, a real time language derived from
Algol 60). It had a large data table which defined how to parse the  
language.
The compiler had an array of integers which was really a stack, but  
instead
of return addresses it had integers which referred to cases in a huge  
switch
list. I was happy to change any of the code, but fortunately did not   
need to
change the data table  for a long long time, and when I did it was with
EXTREME care and trepidation.






More information about the cctech mailing list