Subject: CCL:programming language

From: Joe M Leonard <[email-masked]>
Date: Wed, 31 Jan 2001 19:43:46 -0500 (EST)

Folks,

I've tried to avoid emailing a reply to this, as it's
basically a flame war with no real resolution - but I like
wearing Nomex underwear...

Learning Fortran alone is career-limiting, period.  There
are too many restrictions - no memory allocation, limited
system calls, poor string handling, etc.  "Good code"
written in many languages will outperform "bad code" written
in Fortran.  Algebraic/formulaic code looks pretty much the
same in any language...

If one has to maintain dusty-deck codes, then yeah, Fortran
is required.  However, knowing a second language lets one
do the CPU-intensive stuff in Fortran (if one desires) and
the "interacts with world" stuff in a more-suited language.
Select the tool for the task.

Rather than concentrating on a language, concentrate on
how programs are designed, constructed and maintained.  A
small bit of C lets one, for example, ship a single binary
which is capable of sizing itself - rather than forcing a
set of binaries for differing problem-size memory requirements.

Finally, Fortran has never been loved by those who write
compilers (except for some for-purchase versions).  Therefore,
if you're limiting yourself to Open Source tools, writing
in Fortran will slow you down as nobody's taken the time to
add the necessary optimizing stuff to g77.

Times change - I've written miles of stuff in various languages,
and (repeating myself, sorry) the trick is to write code which
solves the problem and can be maintained.  Don't teach "Fortran
Programming", teach "Programming".  If you want to teach numerically
intensive programming, use whatever language you want, and avoid
the language features which do not positively contribute to
performance...

Also consider the effect of debugging and testing tools - graduate
student time is cheap, but it can be hard on the grad student.

Joe
[email-masked]