On Sun, Mar 18, 2018 at 2:51 PM, Paul Winalski <paul.winalski(a)gmail.com>
wrote:
On 3/16/18, Dave Horsfall <dave(a)horsfall.org>
wrote:
We lost computer pioneer John Backus on this day
in 2007; amongst other
things he gave us FORTRAN (yuck!) and BNF, which is ironic, really,
because FORTRAN has no syntax to speak of.
(Mis-)features such as the insignificance of white space made some
sense when the target consumers for the language (numerical analysts)
were accustomed to writing numbers with commas or spaces separating
groups of digits (e.g., 1 234 567 and 1,234,567). Of course, that
does lead to grammatical nasties such as the need for
context-sensitive lexical analysis.
I suspect that FORTRAN's syntax was designed before its creators had
read any of the formal language work of Chomsky et. al., hence its
poorly-behaved grammar.
-Paul W.
Right .. my point was it is easy to trash talk something that was
remarkably successful such as FORTRAN when it was created (60 years) later
when we get to look back on the design with a great deal more knowledge
that original designers had creating it. To be honest, I have a hard
time imagining writing some of the programs my late father did when he was
a 'computer' in the later 50s and early 60s and he and his peeps started to
convert their work from manual equation grinding to computer simulation (
*i.e.* the movie Hidden Figures).
As importantly, it was just those old codes that made the market to allowed
computers to become valuable. Remember that the original estimates in the
1940-50s was a tens of systems world wide. FORTRAN was really the key
enabler that made market and created the need for more computers.
Again, we can not judge with today's lens if for no other reason than
because so much of what we have in computing (just the space and speed of
the systems alone) were unimaginable in the 50s & 60s. Computer time was
much more expensive/too precious. I'm not sure my adult aged children or
most of their friends have ever used systems were 'accounting' was done and
'charge back' was performed, number of seconds of CPU time was calculated.
[IIRC: The student WatFIV compiler at CMU on TSS/360 gave you no more than
10 seconds of compile time and 2.5 seconds of run time for your batch
job]. Today we have IDE's, and interactive debuggers etc... such were
just not cost effective. The key point being that computers cost more
than people.
To bring this back to UNIX. That was one of the really remarkable things
about Ken and Dennis work. Interactive systems like UNIX were not the
norm. Yes, DEC sold them and they were are hit for only a small group,
but even TOPS-10 systems were out of reach for many (remember K&D had their
PDP-10 proposal tossed out by their management]. Unix ran on 'modest'
hardware and that changed a lot of things. And I think that is one of the
reasons why Fortran was 'knocked' out of its position with many
programmers. Interactive computing changed who was using computers.
But as Paul mentioned, Fortran had already become the linga-franc of the
scientific community before we were able to use computers as we do today.
As I said, the math they used has not changed and it is remarkable that
that old 1960's code still works. Steve put it well and I'll add a
challenge to any hot shot programmer (which at one time I guess I
considered myself to be) to have done much better (I'm sure I could not
have). I am humbled by how good a job they did with creating both the
language itself, the codes that used it, and how long/well those codes have
stood the test of time.
I was introduced at FORTRAN-IV, after learning Assembler and BASIC and
learned Algol-W at the same time. At the time, I was pretty impressed,
with F4, some of its strangeness like white space, or column orientation
were not that strange given we all were on cards. But I was lucky to be
at a place were interactive computing was also blossoming and was given all
the computer I wanted on PDP-10s and PDP-11s. I stopped writing FORTRAN
because we had SAIL, BLISS and eventually C and Pascal. Although thinking
back, the last large Fortran program I wrote for CMU was an accounting
program for the PDP-20's in '76 that computer center had. I'm not sure
why they wanted it in Fortran, but I do remember that was a requirement,
probably because it had to run TSS also.
I do remember, one of the big issues with UNIX being picked up into the EE
department was the lack of a 'proper Fortran.' As much as modern
languages like C and Pascal were clearly the direction, a lot of professors
had a lot of code in FORTRAN they wanted to run.
So now I live in a world were the best FORTRAN compilers are UNIX based and
I don't write with FORTRAN anymore. I still have a ton of respect for
those that do and even more for the wizards like Paul and co that have
spent their careers creating compilers for FORTRAN that have spanned such
changes in the underlying system hardware, as well as the language itself
and keep those same user codes getting correct answers and using the
hardware as well as can be.
So I never knock FORTRAN or FORTRAN programmers. While we may not chose
to use it because it is the wrong tool for our job, they have done and
continue to do much for all of us and we all should really remember that.
Clem
ᐧ