Jim Lux
(818)354-2075 (office)
(818)395-2714 (cell)


-----Original Message-----
From: Beowulf [mailto:beowulf-boun...@beowulf.org] On Behalf Of Robert G. Brown
Sent: Friday, November 30, 2018 9:35 AM
To: Paul Edmon <ped...@cfa.harvard.edu>
Cc: beowulf@beowulf.org
Subject: Re: [Beowulf] Fortran is Awesome

On Thu, 29 Nov 2018, Paul Edmon wrote:

> 
> Not necessarily.? I learned Fortran as part of my Numerical Methods 
> for Physicists in grad school.? We had the option of using C or 
> Fortran.? Fortran has proved much more useful to learn than C and I've picked 
> up C on the side.?
> In many cases programming is a matter of logical structured thinking, 
> if you can get that the rest is learning syntax for different languages.
> 
> For people doing numerical methods, Fortran is way superior in terms 
> of usability than C.? That said I would never teach Fortran in a 
> Computer Science class, but in a Numerical Methods for Scientists I would go 
> with Fortran.

That's similar to my own experience, actually -- I learned PL/1 (gasp, I
know:-) in my first programming course, used it in my second course (writing an 
assembler emulator and compiler emulator in PL/1 was entertaining), and the 
only other course I took in programming of any sort was Numerical Methods, and 
Learned Fortran IV (and how to do e.g.
quadrature and lots more) in that course.  For a long while all of my actual 
programming was in F-IV as that's what the IBM 360/370 would run and it let me 
use at least some of the stuff from our textbook as well as a couple of other 
big books filled with F-IV numerical code, but in the end I wrote a ton myself. 
 I literally filled a box with cards writing a complicated angular momentum 
coupling code for nuclear scattering experiments -- two ways, one of them a 
short form derived by my employer, one of them brute force -- to verify that 
his derivation was correct within a single phase error.

BUT, F-IV's I/O sucked.  Really.  Hollerith?  The branching sucked.  The line 
requirements (designed for first cards, then TTY lines) sucked.
The character data handling in general sucked.  Its conditionals were 
comparatively primitive.  I continued using it across getting into grad school 
and writing my dissertation and programming my dissertation, but somewhere in 
the mid-late 80's I started really using PCs big time, as they got to where I 
could actually run SOME stuff on them instead of expensive, expensive 
mainframes or the department's expensive, expensive mini



... and that's sort of the thing.. I spent most of my early professional career 
writing software in Fortran that had no business being written in Fortran, but 
that's what was available. Late 70s, early 80s.

The US Navy's  aircraft routing system (OPARS)  - not a lot of numerical 
computation, but lots of graph handling and implementation of the A* minimum 
path algorithm.  Why yes, you CAN implement linked lists and pointers in 
Fortran arrays.  That and interpolation into gridded weather products of one 
sort or another.  That ran on a big CDC-7600 used to run numerical weather 
models.
No C language there.

The Los Angeles Police Department's computer dispatch system (ECCCS) was 
written in Fortran - because that's what was available on the PDP 11/70 running 
RSX-11M in a 4 processor multiprocessor configuration (shared address space 
using PCL-11B, and dual ported peripherals) 

Not a lot of arithmetic, almost all text management, device management, and 
databases - yes folks, we wrote a B-tree database system running on dual port 
disk drives with automatic shadowing and hot standby failover. We wrote what 
are essentially device drivers to format messages in BiSync to send and receive 
from the in-car terminals. Hard real time with millisecond kinds of response 
requirements to sendi coded messages via serial ports to remote radio receivers 
to switch channels and audio streams. (Incoming 911 call assigned by dispatcher 
to operator 37 and the audio needs to follow)  And a whole room full of PDT-11s 
(which are basically a VT100 with a LSI-11 inside)

So while there was a C compiler for the PDP-11, it wasn't available for RSX-11M 
in 1979.  I doubt they would have run a mission critical system on Unix back 
then. 

I just found this: 
 ! DECUSC.HLP   Created by Martin Minow, 25-Jul-80, edited 11-Feb-82
!
1 C Decus C is a PDP-11 compiler for the C language.  It is distributed
by Decus and is otherwise unsupported.  It may be used under RSX11-M,
RSTS/E, RT11, and VAX/VMS (compatibility mode).  The language
is generally as described in Kernighan and Ritchie's book, The
C Programming Language (with several restrictions).

Key phrases "unsupported" and "generally as described"

I wrote an assembler for a one-off bitslice processor based on the AM2901 in 
Fortran (running on PRIMOS from Prime computers)  Fun fact, the operating 
system was written in Fortran IV, with just a bit of Assembler.  Not only that, 
but the PRIME CPU design was tailored to Fortran and had a single instruction 
to do the 3 way Fortran branch.  Take that Burroughs, with your Algol based 
CPU.  (although I really liked the Burroughs big machine design - made 
specifically for high level languages, reentrancy without pain, multiple 
stacks, blindingly fast compilers)

I don’t recall seeing significant C in the "non-academic" world, especially in 
PCs until the mid-late 80s  - compilers cost too much, etc.  I think I actually 
wrote code in Ada on a IBM PC before I wrote code in C (thanks to a discount 
non-conforming Ada compiler called Janus)- and plenty of Fortran, Basic and 
Pascal.  Of course, I was running Fortran on a Z80 machine in 1977, too.

A friend of mine was doing development in C on a 68000 based machine in the mid 
80s.


TL;DR  - You can do amazing things in Fortran, and for a good part of computing 
history, it was the Fortran compiler that was first compiler released and 
supported by the mfr, probably because of significant government funding for 
computational work that is Fortran's forte.  Numerical simulations of shock 
waves, weather, particle transport, etc.






_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org sponsored by Penguin Computing
To change your subscription (digest mode or unsubscribe) visit 
http://www.beowulf.org/mailman/listinfo/beowulf

Reply via email to