On 03/19/2017 08:04 AM, Bill Gunshannon via cctalk wrote:
FORTRAN. FORTRAN D (DOS/360), F and G (OS/360), which
were FORTRAN
IV compilers (retronamed "Fortran 66"). VAX/VMS Fortran 77, except
most VAXen of the day you seem to be talking about ran BSD Unix and
Fortran was handled by f2c.
I learned FORTRAN IV on an IBM 1401, a decimal computer, before
moving on to PL/1 and COBOL (and FORTRAN) on the System/360.
There was another FORTRAN 66 available fro the S/360, but you usually
saw it on the lower models (25, 30, 40). It was called "Basic FORTRAN
IV" or sometimes "USA Basic FORTRAN". There doesn't seem to be a
manual
in S/360 section for this on bitsavers. I recall that it was a slim
little packet.
It was brutal--basic INTEGER, REAL and DOUBLE PRECISION data
declarations; blank COMMON only; arithmetic IF only, computed and
unconditional GO TO--and the bugbear of many programmers: strict
enforcement of "mixed mode" prohibitions. File I/O was reasonable, I
suppose. A maximum of 6 characters in a variable name, stuff like that.
Better than some of the stripped-down FORTRAN II versions, which often
didn't even include type declarations.
FORTRAN IV was a step forward--vendor "extensions" of FORTRAN II were
getting out of hand--contrast some of the conventions of, say, 7090 FMS
II/IBSYS fORTRAN with other vendors. For example, punching a 'B" in
column 1 indicated a "logical/Boolean" expression and so on...
Still, vendors kept extending their FORTRAN IVs. I think I remarked on
a CDC syntactic extension that resulted in the ability to write an
ambiguous statement, with no clear way to resolve the meaning.
I believe that Univac, at one point, boasted an 1100 "FORTRAN V". That's
chutzpah for you. "FORTRAN VI", of course, was PL/I.
F77 tightened that up and brought out the notion of having to flag any
non-ANSI syntax. F90 was clear in that vendor extensions were to be
disabled by default; i.e., the user must explicitly enable them.
F90 was, to me, the point of departure. Many statement types were
deprecated; since the world was no longer coding on cards, free-format
input was standardized. Extensions for high-end supercomputers were
codified, etc. Reserved words made their appearance--in previous
versions, the notion of "whitespace" was introduced. It was perfectly
legitimate to name a variable "FORMAT" or "REAL" and write it as
"F OR M
AT", though I suspect that few ever did.
The Fortran of today resembles FORTRAN II in the same way that COBOL
2014 resembles IBM COMTRAN.
But, mutatis mutandis, Fortran/FORTRAN still lives.
--Chuck