Re: Fortran 2008 (was Re: New style DO syntax?)



beliavsky@xxxxxxx wrote:
Richard Maine wrote:
....

One argument made for future Fortran standards is that "a language
either evolves or dies." I wonder about this. C is still one of the
most important and popular programming languages, and it's my
impression that the C99 standard has very little to do with this.
I think the need to evolve is true, but the whole process is hindered by views at both extremes: some want it to evolve into a highly advanced mathematic language, while some see evolution as the death of the FORTRAN they are so familiar with.

The result, it seems, is that standardization of important mathematical features is so time consuming that it is difficult to get around to some trivial but very useful enhancements like proper variable-length strings.


Most public domain Fortran code is still in FORTRAN -- modern Fortran
is underused. I think translating the important FORTRAN libraries to
Fortran 95 or 2003 could be an important service to the Fortran
community. Two people that have worked on this are Alan Miller
http://users.bigpond.net.au/amiller/ and John Burkardt
http://www.scs.fsu.edu/~burkardt/f_src/f_src.html . Burkardt quickly
fixes reported errors in his posted codes.

The Fortran 2003 book by Metcalf, Reid, and Cohen is good but perhaps
not suitable to beginning programmers. More books on Fortran 2003 are
needed IMO.

I think it is more important right now for Fortranners to use the
language that is available and discover its strengths and limitations,
before making the language even bigger.

The fear of making Fortran too big/bloated is probably one reason traditional Fortran programmers resist the evolution of Fortran. My personal interests are not aimed so much at adding a lot of complex features, but just to make the existing language easier to use.

For example, here are some non-math features that add minimal bloat:

Proper variable length strings: this was not seen as important, although they finally realized it is not such a big deal to include it.

Better binary sequential I/O support, which most compilers have added as an extension.

File pointer seek and tell commands (other than REWIND).

Useless name space issues: why do type names share the name space with variable names? Context keeps them distinct. Yet, at the same time, Fortran is willing to keep language keywords distinct from the name space, which is a much harder thing to do.

Why is there a global restriction for generic procedure names to be exclusively functions or subroutines?


Joe
.