J3/99-144
Date: 18 May 1999
To: J3
From: W. Clodius
Subject: Fortran's future
In recent years there has been a steady decline in participation in Fortran
standardization. The committee most responsible for the details of the
standardization problems, the current J3 of NCITS, has observed a steady
decline in its official membership by two or three members a year. Its
membership now is at eleven. It had a membership of over thirty after
publication of the F90 standard.
At this membership level, progress on F200x will be very slow. It may be
impossible to do even a minor revision after F200x. If membership declines
below ten there may not be any F200x, unless SC22WG5 can find additional
resources.
Some of this decline in activity was inevitable.
General consolidation of the industry by itself has reduced the number of
vendors. Consolidation has been most thorough at the high end of the market,
which had historically been most active in Fortran standardization. Growth
of
the size of the language and its perception as a niche language has also
meant that it could not be taken up by minor vendors. The number of F90/95
vendors on Michael Metcalf's list is nominally twenty (some of these are
resellers of the same compiler so the true number may be closer to fifteen),
while the number of F77 vendors is currently over forty, and may have been
over fifty at the end of the last decade. However the decline in vendor
participation accounts for less than half the overall decline in
participation.
The change from a mainframe dominated industry using mostly in-house
applications to a personal computer market relying on general purpose
software has also caused a decline in the central computing facilities at
many institutions. This would have also led to a reduced participation.
Finally, as the language has aged it is natural that it has been perceived
as
uninteresting niche language, and activity has shifted towards newer
languages, such as C, C++, and Java. The slowness with which Fortran is
revised has only entrenched that opinion. To the extent that it has caused a
decline in participation in F200x, it is a self reinforcing perception.
In addition there have been other factors that I don't view as inevitable,
but I do perceive as contributing factors. The standards organizations have
changed their rules and charges in ways that have discourage participation
by
minor players. This has affected not only direct participation as members,
but also the ability of non-members to participate by submitting proposals
or
reviewing the proposals of members. I have a suspicion that the development
of HPF also diverted resources that would have assisted with the development
of F95 and the early stages of F200x.
Given the above it is to be expected that the committee's size has declined.
I don't think that any amount of effort could lead to a J3 committee as
large
as twenty-five. It might be difficult to have one as large as twenty. I am
surprised however that participation is approaching ten. It should be
possible to improve the current situation. I do not know what J3 and SC22WG5
have been doing, and the following may have already been tried, but I have a
few suggestions:
1. Beat the bushes for new members. There should be an active effort
to approach potential members and encourage them to participate. Try to get
more vendor participation. Try to increase foreign participation. Try to get
participation from the industry side of the user community. Advertise the
meetings in appropriate forums: comp.lang.fortran and the Fortran 90 email
list of course, but perhaps also comp.std.c, comp.std.c++ (check with the
moderators of comp.lang.c++ to see if they think that is acceptable),
comp.compilers (check with John Levine to find out if that is acceptable),
and the dormant HPF email list (check with Ken Kennedy or Chuck Koelbel to
see if that is acceptable).
2. Consider increasing SC22WG5's participation. C and C++ rely on
joint ANSI/ISO meetings partly to improve participation.
3. Consider going to three meetings a year. The current four
meetings
a year increases the cost of membership, it is also difficult to utilize
effectively. The papers for a meeting are expected to be due two weeks in
advance of a meeting, and papers modified or created during a meeting
straggle in for two to three weeks after the meeting. The editor then takes
at least a month to incorporate changes implied by the papers. That leaves
only about a month to review the revised draft and write up new papers.
Papers are being written and reviewed in a hurry, and the quality of the
work
suffers as a result; one of the reasons the editor takes a month to
incorporate revisions. This may be even more critical with the small number
of reviewers currently available.
4. Consider going outside normal standardization procedures. While
HPF had its problems it did show that it is possible to get a lot done
outside of ANSI/ISO rules.
5. Try to find ways to increase non-member participation. The C and
C++ committees in the past had designated experts that were non-members,
e.g., Fergus Henderson. Even if their time for proposal writing is limited,
the more people seeing and commenting on proposals from committee members
the
better.
6. Try to get financial support for the standardization effort. One
person working full time could be more effective than four people working a
quarter time. Between the DoD, NASA, NSF, ARPA, DOE, Japan, and Europe,
there
should be someone willing to fund one or more of the following: development
of a public domain Fortran 95 compiler, development of a proof of principle
F200x front end, or a team to develop of an object oriented Fortran standard
(similar to what was done for Ada). Any of the above should lead to the
creation of a small team with a focus on F200x. If HPF could get ARPA
funding, and Ada DoD funding then something should be possible for Fortran.
All of the above implies people. Unfortunately most of the names I am aware
of either are probably already well known to the committees, have financial
constraints and are likely to participate as members only if funding is
available, or have at best a peripheral interest in Fortran:
HPF: Charles Koelbel, Piyush Mehrotra, Ken Kennedy, Geoffrey Fox, Barbara
Chapman, Hans Zima, Yoshiki Seo, Thomas Brandes (Note Geoffrey Fox, and
perhaps some of the others, is now working on Java)
Vendors: Absoft, Pacific-Sierra Research, Portland Group, Salford, EPC, NA
Software. ACE NEC, Fujitsu
Fergus Henderson - fjh@cs.mu.oz.au, mostly interested in logic programming,
functional programming, object oriented programming, C, C++, Ada, but did
express a minor interest in object oriented Fortran. Commented on C9x, C++,
and Prolog standardization.
Richard O'Keefe - ok@atlas.otago.ac.nz. The most knowledgeable person I know
about programming languages in general. Started out as a physicist
programming in Fortran. Often comments favorably on F90. Most knowledgeable
about logic programming, functional programming, and Ada. Hates C++.
Extensively commented on Ada, and Prolog standardization.
David Chase - chase@naturalbridge.com, chase@world.std.com, former student
of
Ken Kennedy. Worked on C, C++, Fortran, Modula 3, and Java compilers. Expert
on exception handling, garbage collection, IEEE numerics, object
orientation.
Commented favorably on Fortran 90. Current employer is a Java compiler
vendor.
Don Nagle - dnagle@erols.com, Fortran tools, interested in Fortran, Ada, and
object orientation
Nick MacLaren - nmm1@cam.ac.uk, particularly knowledgeable about C, IEEE
numerics, portability, and internationalization
Robert Dewar - robert_dewar@my-dejanews.com works on Ada compilers, e.g.,
leads the GNAT team, participated in Algol 68 standardization. Commented
favorably on IBM's F90 compiler
Tucker Taft - stt@averstar.com, led the team that developed the Ada 95
standard. developed Ada 95 compiler, might give advice