[comp.lang.fortran] Message from God

eugene@eos.UUCP (Eugene Miya) (01/13/90)

I forgot which newsgroup asked this.

From: John Backus <backus@almvma>
To: Eugene Miya <eugene@eos.arc.nasa.gov>
Subject: Re: another fortran history question
In-Reply-To: Your message of Fri, 15 Dec 89 14:52:35 PST,
             <8912152252.AA10825@eos.arc.nasa.gov>

Eugene,
We made one or more blanks equivalent to one blank because we felt
this would allow a user to arrange his program more meaningfully;
also, we felt that it was often hard for keypunchers to tell whether
there was one or two blanks in some circumstances. Hope this clears
up this vital question! (And I hope I'm remembering correctly!)
--John

johnl@esegue.segue.boston.ma.us (John R. Levine) (01/13/90)

In article <5974@eos.UUCP> eugene@eos.UUCP (Eugene Miya) writes:
>From: John Backus <backus@almvma>
>We made one or more blanks equivalent to one blank because we felt
>this would allow a user to arrange his program more meaningfully;

Quite reasonable.  The real question is why they made one blank equivalent
to no blanks, to the consternation of compiler writers ever since.  I suppose
it was so you could write the variable DELTAX as DELTA X as in

      DELTA X = X(I+1) - X(I)

but it sure can be confusing.

On a related note, I wonder when was the first time that someone wrote the
classic:

      DO 10 I = 1.10
-- 
John R. Levine, Segue Software, POB 349, Cambridge MA 02238, +1 617 864 9650
johnl@esegue.segue.boston.ma.us, {ima|lotus|spdcc}!esegue!johnl
"Now, we are all jelly doughnuts."

sakkinen@tukki.jyu.fi (Markku Sakkinen) (01/15/90)

In article <1990Jan13.154645.506@esegue.segue.boston.ma.us> johnl@esegue.segue.boston.ma.us (John R. Levine) writes:
-In article <5974@eos.UUCP> eugene@eos.UUCP (Eugene Miya) writes:
->From: John Backus <backus@almvma>
->We made one or more blanks equivalent to one blank because we felt
->this would allow a user to arrange his program more meaningfully;
-
-Quite reasonable.  The real question is why they made one blank equivalent
-to no blanks, to the consternation of compiler writers ever since.  I suppose
-it was so you could write the variable DELTAX as DELTA X as in
-
-      DELTA X = X(I+1) - X(I)
-
-but it sure can be confusing.

The decision in original FORTRAN to make blanks nonsignificant is
understandable enough: the language was small and simple and _really_
meant to be a FORmula TRANslator. What is difficult to understand
is the lack of insight and courage to fix this problem when the Fortran 77
standard was prepared; likewise the sticking to an archaic card input format.

Markku Sakkinen
Department of Computer Science
University of Jyvaskyla (a's with umlauts)
Seminaarinkatu 15
SF-40100 Jyvaskyla (umlauts again)
Finland