Re: Fortran 77 parser
- From: Ron Shepard <ron-shepard@xxxxxxxxxxxxxxxxxx>
- Date: Sat, 05 Apr 2008 12:28:04 -0500
In article <w_2dnQHZlOITOGranZ2dnUVZ_oaonZ2d@xxxxxxxxxxxxx>,
Walter Spector <w6ws_xthisoutx@xxxxxxxxxxxxx> wrote:
... people using Crays
tended to use standard conforming declarations more often. (Maybe
because they got burned by REAL*n not being what they expected?
I don't recall much use of that form either, although I know that was
permitted. Mostly eveyone was actively advosed not to use it.)
Many people using Crays, at least in the early days, had migrated
from 60-bit CDC gear. CDC did not support the IBM-ish *n notation.
So there was never a legacy of using it for double precision.
The above comments may have been true for people using Crays and
nothing else. But when I started using Cray computers (about 1983),
I was concerned about portability of the code to a fairly wide range
of computers (including 60-bit CDCs, IBM mainframes, minicomputers
of various architectures, 36-bit DEC and Univac computers, attached
processors, etc.). In my situation, using real*8 declarations was
the best way to ensure portable code. Every compiler I used
supported those declarations, including machines such as Cray, FPS
attached processors, and the 36-bit machines which did not have byte
addressing, and even Harris computers which were based on 3-byte and
6-byte floating point variables. On a Cray, for example, real*8 was
equivalent to single precision REAL but on other machines it was
DOUBLE PRECISION. That is why the standard declarations (REAL and
DOUBLE PRECISION) were so inconvenient, one had the choice basically
between standard declarations *OR* portable code, the two goals were
in direct conflict. It was basically *IMPOSSIBLE* to write portable
f77 standard-conforming code on such machines, you had to use some
combination of compiler options to make the code match the hardware
(and violate some aspects of the standard). And, of course,
libraries such as BLAS and LINPACK, where the routine names followed
the f77 standard, made all of this even more difficult. Programmers
trying to write portable code were basically fighting the language
to get things done rather than working with it.
Of course, by 1983 the ANSI fortran standards committee was supposed
to have passed the first update to f77 which would have solved these
portability problems in the language. But the committee dragged its
feet through the entire decade, as fortran moved from the dominant
language to its low point in the 90's. The f90 and f95 standards
finally addressed some, but not all, of the problems that
programmers had been facing, but the damage that the ANSI committee
did to the popularity of the language cannot be overstated.
Remember in 1983, even utility programs such as Lex and Yacc, things
used in general by computer scientists but never touched by
scientists and engineers, were written in fortran and produced
fortran code. This is when fortran lost its "mindshare" among
programmers, and much of that was due to the ANSI committee not
allowing the language to evolve the way it needed to in order to
address the needs of the programmers using it. Even when the f90
revision was finally passed, it was passed first as an international
ISO standard and only later as an ANSI standard, the reverse of what
was supposed to have happened, the ANSI committee was still dragging
its feet then.
$.02 -Ron Shepard
.
- Follow-Ups:
- Re: Fortran 77 parser
- From: James Giles
- Re: Fortran 77 parser
- References:
- Re: Fortran 77 parser
- From: Jon Harrop
- Re: Fortran 77 parser
- From: Tobias Burnus
- Re: Fortran 77 parser
- From: Jon Harrop
- Re: Fortran 77 parser
- From: glen herrmannsfeldt
- Re: Fortran 77 parser
- From: James Giles
- Re: Fortran 77 parser
- From: Richard Maine
- Re: Fortran 77 parser
- From: James Giles
- Re: Fortran 77 parser
- From: *** Hendrickson
- Re: Fortran 77 parser
- From: James Giles
- Re: Fortran 77 parser
- From: Walter Spector
- Re: Fortran 77 parser
- From: James Giles
- Re: Fortran 77 parser
- From: Walter Spector
- Re: Fortran 77 parser
- Prev by Date: Re: Using Modules
- Next by Date: Re: Fortran 77 parser
- Previous by thread: Re: Fortran 77 parser
- Next by thread: Re: Fortran 77 parser
- Index(es):