[comp.sys.super] Stone Knives And Bear Skins

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
------------------------------------------------------------------