On Sun, Mar 18, 2018 at 2:51 PM, Paul Winalski <paul.winalski@gmail.com> wrote:
On 3/16/18, Dave Horsfall <dave@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