[comp.lang.fortran] Just the facts ma'am

fouts@lemming.nas.nasa.gov.nas.nasa.gov (Marty Fouts) (09/21/88)

In article <14494@agate.BERKELEY.EDU> link@stew.ssl.berkeley.edu (Richard Link) writes:
>
>Numerical analysis, for better or worse, is virtually synonymous with
>FORTRAN. Very few IMPORTANT mathematical packages have been written
>in other languages and then ported to FORTRAN; the opposite is the
>rule - serious scientific programming is done in FORTRAN. Period.
>
 There are two problems with this statement.  First, there are two
subjective adjectives (IMPORTANT (sic) and serious.)  Second, a
partial quantification (very few) is translated into an absolute
("Period." (sic))  See below.

>
>The latter statement is not an opinion; it is a fact. Check the
>available scientific libraries and compare the lines of code available
>in C and FORTRAN.

It is not "A fact".  First of all, you can't count the lines of code
available.  1) You haven't defined "IMPORTANT mathematical packages."
(I'm sure Wolfram would consider the 150K lines of Mathematica, which
is written in C as such, although I don't know if you would.)
2) You haven't defined "serious scientific programming"
(I'm not sure that I would like to have whatever scientific
programming I've done discounted just because of what appears to be
your definition:  If it ain't fortran, it ain't serious.)
3) Even given that we agreed on some definitions for 1 and 2, you
don't have access to all of the code available, and neither do I.
Given the possibly true, frequently quoted claim that most
professional programmers program in COBOL, it could turn out that the
bulk (by number of lines written) of serious scientfic code is in
COBOL.  Given the huge number of PC clones running BASIC, it could
also be true of BASIC.  Neither is likely.  Beyond this, there is a
world full of proprietary and classified software which we aren't
going to be able to count.

Ten years ago, I would have agreed out of hand.  Given the amount of
other language code I've seen,  (Macsyma is written in Lisp, the
Connection Machine doesn't get programmed in Fortran very often, much
EE simulation code is in C,)  I'm not willing to make the claim any
more.

As far as the claim about libraries, for every library routine written
in Fortran, there is a probably a counterpart in C. I know I have a
fairly large library if C routines, there is an extensive math library
available in BSD unix, developed by numerical analysts at Berkeley
under Kahan's direction, and all of the routines from "Numerical
Recipies in {Fortran,C,Pascal}" are of course available in C.  Many
commercial libraries haven't been translated, but counterparts exist
for most of the routines they contain.

>Why don't we all save the bull on the net and try to use the most
>appropriate tool for the problem at hand?
>

I started "the bull on the net" because of a genuine interest to
evaluate which was the most appropriate tool on the net.  Althought
there was much noise generated in the discussion, there has also been
much information.  My memory was refreshed on a number of Fortran
issues I had forgotten, and I have a much clearer view of what other
programmers think is important for a particular task (numerical
analysis.)

Marty
+-+-+-+     I don't know who I am, why should you?     +-+-+-+
   |        fouts@lemming.nas.nasa.gov                    |
   |        ...!ames!orville!fouts                        |
   |        Never attribute to malice what can be         |
+-+-+-+     explained by incompetence.                 +-+-+-+