> Surely you don't expect the syntax of C and C++ to change... People are
> still writing Fortan70 despite the existence of Fortran90...
>

There are actually good reasons to preferring FORTRAN 77 over Fortran 90,
at least for scientific computing.

Succumbing to pressures to make the language more modern, the designers
put recursion and dynamic memory allocation in F90, making it unsuitable
for a lot of applications.  The reason is that the runtime architecture of
a F77 program is particularly simple.  Because there is no recursion, it
uses static procedure linkage and does not need a stack; because there is
no dynamic allocation of memory, it does not need a heap.  All the memory
that will ever be needed is known when the program in invoked.  Taking
advantage of this, many large F77 programs are run in real memory.

Of all the languages that are criticized for not having complete array
operations, I think Fortran missed the boat the most.  As I mentioned in a
previous post, C can be partly forgiven because it does not really have
proper arrays: Fortran had them from the beginning.  The very first
version of Fortran allowed one to say

    DIMENSION A(10)
    READ A

In discussing the READ statement, the FORTRAN Programmer's Reference
manual from 1956 says:

"When it is desired to transmit an entire array, and in its natural order
... then an abbreviated notation may be used; only the name of the array
need be given and the indexing information may be omitted.  FORTRAN will
look to see if a DIMENSION statement ... has been made about that name; if
it has, indexing information to transmit the entire array in natural order
will be supplied automatically, while if it has not, only a single
variable will be transmitted.  Thus, in the example, the entire A-array
will be transmitted, including the special case where the array consists
only of a single quantity."

In my opinion, this behavior was begging for generalization right then.

Best wishes,

John


----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to