[comp.lang.fortran] Stone Knives And Bear Skins

phipps@garth.UUCP (Clay Phipps) (01/13/89)

In article <117400003@uxa.cso.uiuc.edu> gsg0384@uxa.cso.uiuc.edu writes:
>
> ... I think we, stone-age FORTRAN programmers, 
>usually physicists, mechanical engineers, and civil engineers, 
>need [dynamic *local* array sizing] desperately.
>Otherwise, we should always provide the source code to the customer 
>so that he can redimension for the memory size of his hardware.
>Too often I cannot help thinking that the CStists do research 
>on what they like to do, but not on what most users want them to do.  
>The result is that we still don't have a language any better than 
>FORTRAN 77 for our purpose, ...

The net's Algol partisans have already posted their comments, I think.

Workable solutions were supplied by a language designed 
initially under the name FORTRAN VI in the early 1960s.
So many changes were made away from the Spirit of FORTRAN
that the language was eventually renamed PL/I.
It's still possible to find PL/I compilers laying around
for many minis and mainframes.  The language user community you 
identified chose to stick with FORTRAN, rather than switch to PL/I.

Time on the order of a decade elapsed between the 1st release of PL/I
and completion of the FORTRAN 77 standard.  Ask the FORTRAN committee
why the features you wanted aren't *already* a part of the language.

If you want the Cray features on another machine, complain to
your computer's manufacturer's marketing and sales organizations.
Computer manufacturers depend heavily on their marketeers to decide,
*in effect*, what extensions and features, *if any*, 
their compiler folks will provide in later releases of their compilers.
Compiler people can talk until they are blue in the face to management
about the features they think are "needed" in an existing compiler, but
until some potential customer waves big bucks in front of sales people
("no feature, no sale"), those "needed" features often just won't happen.
[It may not be this way where I now work, but it was at other companies.]
A favorite "feature" of customers, marketing, and sales alike, is *speed*.
Compiler writers working to get the fastest compiler for the "next 
release" typically aren't spending time adding other features.

Adding extensions to FORTRAN that duplicate features available
in other well-known languages is not generally considered
*computer science research*.  Politics, maybe, but not research.

-- 
[The foregoing may or may not represent the position, if any, of my employer]
 
Clay Phipps                       {ingr,pyramid,sri-unix!hplabs}!garth!phipps
Intergraph APD, 2400#4 Geng Road, Palo Alto, CA 93403            415/494-8800

mccalpin@loligo.cc.fsu.edu (John McCalpin) (01/14/89)

In article <6779@killer.DALLAS.TX.US> elg@killer (Eric Green) writes:
>Compilers for ...(PL/1)... are either quite
>large and slow, or else generate lousy code. I have seen PL/1
>compilers generate excellent code, as good as Fortran or whatever, but
>not without the compiler spending large amounts of space & time to do it.

For large computations, I don't consider this to be a problem at all.
It seems to me that this is one of the purposes of computers -- to spend
large amounts of time and memory to make *my* job easier.... The only
significant difficulty is that a compiler that strains my supercomputer
is not likely to be very useful on my workstation, and a compiler that
does not exist in both places is going to be an unused compiler....

This, IMHO, is the *principal* issue of languages in the supercomputer
environment.  We have a bunch of languages (Algol-68, vector Pascal/
Modula-2, vector C, vector Fortran [NOT 8X]) on our supercomputers
(Cyber 205 and ETA-10), but without the *same* syntax and extensions on
our VAXen or workstations, these languages are not ever going to be
used.  This is the promise of Fortran-8X, despite it's obvious flaws.

>Re: lament of physicist types that there's no real replacement for
>Fortran: anybody have a counterexample? Anybody have a compiler which
>is as good for numerical work, and generates code as fast and
>efficient? PLUS, is small enough so not to intimidate the
>non-professional programmers?
>--
>Eric Lee Green    ..!{ames,decwrl,mit-eddie,osu-cis}!killer!elg

Speed and efficiency depend a great deal on the problem being solved.
For my work (computational fluid dynamics and partial diferential
equations), it is not difficult to write code that is nearly 100% long
vectors.  In that case, the scalar optimization of the language counts
for little relative to the ability to cleanly specify the vector
operations that I need done.  So the vector extensions in the languages
mentioned above all produce very similar performance.

For non-vectorizable code or scalar hardware, then the compiler
technology becomes much more important.  I have not yet been convinced
that these other languages are inherently less efficient than Fortran.
I may take a bit more compile-time effort, but the same computational
problem should be optimizable to very similar code in all cases. Of
course, it is easier to write code which is hard to optimize in a more
abstract language, but the user still needs *some* challenges....
-- 
----------------------   John D. McCalpin   ------------------------
Dept of Oceanography & Supercomputer Computations Research Institute
mccalpin@masig1.ocean.fsu.edu		mccalpin@nu.cs.fsu.edu
------------------------------------------------------------------