Re: most widely used language for numerical programming?
From: Dan Tex1 (dantex1_at_aol.com)
Date: 13 Jun 2004 19:58:58 GMT
From: CBFalconer firstname.lastname@example.org
>Surely you aren't claiming that that is a loop free operation!
>All it means is that someone, somewhere, has written a routine
>named matmul, and that the + operator has been overloaded, as has
>the assignment operator. In addition the compiler has been given
>knowledge of these.
The matrix multiplication routines and other built in array processing
capabilities are more than just defined syntax, overloading, etc. that you or
I might write ourselves. By making it part of the language, the syntax is
clearly standardized and thus very portable and dependable for the long run.
Additionally, the compiler can optimize such codes much, much more than it can
our hand coded equivalents.
>IIRC HPBasic, circa 1975, had such operations as matmul,
>To be fair, I suspect the combination of prewritten routines,
>standardized and callable with clear syntax is probably unique, or
>close to unique. But this is not Pappys Fortran, in fact it bears
>virtually no resemblence to what needed extermination in 1970.
Actually, Pappys Fortran is still compilable with todays newer compilers as
long as Pappy didn't do "no-no's" such as using non-standard, vendor supplied
routines. Todays fortran standard is backwardly compatible with old fortran.
Many ( most ) of the new features are things that the language sorely needed.
To me, they fit in pretty cleanly style-wise et all, with old fortran.
>Incidentally I can easily design a record or structure to hold
>conformant multidimensional arrays in either Pascal or C. If I do
>it in assembly I probably have the heart of your Fortran system.
>I am highly suspicious of languages that try to do too much.
So am I. However.... People seem to like languages that try to do too much.
If they didn't.... then Fortran would likely be near the top of everyones list
and C++ would be somewhere very near the bottom. Most other languages would
be between those two.