Drew McCormack wrote:
>
[snips of what Bill Long and Keith Bierman wrote]
> I agree with this. There is no doubt Fortran code can be made faster,
> easier.
>
And as has been said several times in this thread, with a smaller and
easier learning curve.
> One thing which I haven't seen brought up, which is in favor of higher
> level languages like C++ and Java, is algorithmic performance
I would never have classed these as "higher level".
> The
> algorithm you choose can often be much more important than the extra
> cycles a compiler can save you. An advantage with C++/Java like
> languages is simply that they are better at abstraction, and this can
> make writing complex algorithms easier. The fortran version of the
> algorithm would nearly always run faster, but writing the fortran
> version may be considerably harder.
>
I find it very difficult to agree with this statement. I've lost track
of who said what, but several (IIRC, notably James Giles, who is one of
several whose opinions I value) have said the other way around. I.e.,
it is harder to write other than Fortran to mimic what Fortran can do.
Bill Long of Cray implied that more time is spent (and can be by
compiler writers) in making Fortran efficient than on other languages.
Cray being in existence for massive number crunching.
> So it depends largely on what you want to do, and whether you can make
> inroads algorithmically. Sometimes you can't, and Fortran is then the
> logical choice.
>
Agree here totally with the first sentence. Whatever language a program
is written in, choose the best algorithm. But to me, Fortran is the
best and easiest approach for numerical work.
In your second sentence, are you implying that Fortran is better able to
be optimised? So if you don't know the code for Quicksort, write your
Bubblesort in Fortran? That seems a different argument from the rest of
your comments.
Our HV electrical applications are Fortran written, with bits of C for
what it is reasonable for -- graphics to X terminals and interfacing
with the system.
We regularly take graduates from Sydney's universities for work
experience. Even though they may never have been taught Fortran, we
have found that they can (with obvious assistance) very quickly get to
the point of adding features to our Fortran codes. The two of us
remaining from what used to be a team of six (natural attrition, etc.,
since our company has to believe itself more efficient with fewer staff,
but contractors, none of whem are competent to work in our area), have
always worked with peer reviews and obviously we do that with our
graduates. We have always found that they could pick up Fortran
techniques very rapidly.
As an adjunct to Van Snyder's interesting mail, my ex-boss wanted to
write chunks of code in C, also buying various commercial packages to
help him. He worked on the code solely, and from about 1994 he targetted
a completion date one year later. This target date was moved a year
each year. In the interim, to give our users something, two of us wrote
a "temporary fix" in GKS and Postscript in Fortran. That boss retired
in 2000, his code never surfaced, and the "temporary fix" is still in place.
This may not help the OP, but my ex-boss had self taught himself C in
about 1990, but myself (self-taught Fortran in middle sixties) and my
colleague (university Fortran in the late 1970's) were able to write
this in about 2 months. The vagaries of C kept my ex-boss unable to
manage much, yet he is a Ph.D in Electrical Engineering, was an expert
at modelling and had used Fortran from slightly before me
Suggest reading a book from (if spelling is correct) Andrew Koenig
called "C Traps and Pitfalls". Again, IIRC, he worked for AT&T Bell.
Regards, Paddy
***********************************************************************
"This electronic message and any attachments may contain privileged
and confidential information intended only for the use of the
addressees named above. If you are not the intended recipient of
this email, please delete the message and any attachment and advise
the sender. You are hereby notified that any use, dissemination,
distribution, reproduction of this email is prohibited.
If you have received the email in error, please notify TransGrid
immediately. Any views expressed in this email are those of the
individual sender except where the sender expressly and with
authority states them to be the views of TransGrid. TransGrid uses
virus-scanning software but excludes any liability for viruses
contained in any attachment.
Please note the email address for TransGrid personnel is now
[log in to unmask]"
***********************************************************************
|