J3/99-144r1
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.object.moderated (check with the moderators), 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. Similarly for MPI.
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. Encouraging alternates might also help here.
6. Try to increase the language's exposure in general. In particular
the object oriented extensions need exposure in the proper community. Try to
get someone knowledgeable on the Fortran's object orientation, Malcolm Cohen
or Van Snyder for example, to give a couple of talks at appropriate forums,
e.g., ECOOP, OOPSLA, POPL, PLDI, FOOL, to get appropriate feedback and
(ideally) participation. Try to get one of the chairs to give a talk in a
major forum, e.g., PLDI or POPL.
7. 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 (the absence of
an public domain compiler that fully implements the standard may have made
life easier in the short run for most of the vendors, but it has dearly hurt
Fortran's market share in the long run. The core user community rightly
views
F and ELF as toys.)
- development of a proof of principle F200x front end (there were
several problems with the Fortran 90 standard POINTERs in general, the
absence of null assignment in particular, awkwardnesses in KIND value usage,
an overly flexible module system, that the development of a front end in
conjunction with the standard might have alleviated. Similar problems are
looming for Fortran 200x. A proof of principle front end could also be
commercialized as the basis of vendor's front end speeding acceptance of the
standard.) or
- a team to develop of an object oriented Fortran standard (similar
to what was done for Ada). A small team of full time experts is often better
than a large committee of part-time amateurs, however talented the amateurs
are.
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 - http://www.cs.mu.oz.au/~fjh/index.html, 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 - http://www.cs.otago.ac.nz/staff/Richard.html. 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. (has
been seen less often on the net since he returned to New Zealand.)
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
(http://www.naturalbridge.com/) is a Java compiler vendor.
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
Guy Steele - participated in F90 and HPF standardization. Very knowledgeable
on function programming, object oriented programming and Java. Works for one
of the Fortran vendors
Luca Cardelli - http://www.luca.demon.co.uk/ - perhaps the most
knowledgeable
person on object oriented type systems. Used to work for a Fortran vendor.
Now works for the most famous former Fortran vendor.
Martin Amadi -
http://www.research.digital.com/SRC/personal/Martin_Abadi/home.html - a
former coworker with Luca Cardelli, almost as knowledgeable and still works
for a Fortran compiler vendor
Kim Bruce - http://www.cs.williams.edu/~kim/ an expert on object oriented
type systems whose system appears to be well suited for Fortran.
Other object oriented types specialists that are less likely to be
interested
in Fortran or are less well known
Benjamin Pierce - http://www.cis.upenn.edu/~bcpierce/
Philip Wadler - http://www.cs.bell-labs.com/~wadler
Gary Leavens - http://www.cs.iastate.edu/~leavens/main.html
Didier Remy - http://pauillac.inria.fr:80/~remy/
John C. Mitchel - http://theory.stanford.edu/people/jcm/home.html
Matt Kennel - mbk@inls1.ucsd.edu, sometimes posts in comp.lang.fortran.
Participated in Sather an object oriented language oriented towards
numerics.
Now mostly uses Eiffel. Comments favorably on Fortran 90 compared to C++
Craig Burley - http://world.std.com/~burley, the main G77 developer
Don Nagle - http://users.erols.com/dnagle/, Fortran tools, interested in
Fortran, Ada, and object orientation
Occaisional posters on the net that are generally interested in progress on
the Fortran standard. Most appear to not have sufficient funding to
participate full time.
Tim Prince - tprince@computer.org - n8tm@aol.com
Dr. B. Voh - essoft@ix.netcom.com
James Giles - jamesgiles@worldnet.att.com
Jason Abate - abate@brahma.ticam.utexas.edu
Martin Ambuhl - mambuhl@earthlink.net
Tommy Bevins - h5ssatb0@smd4d.wes.army.mil
Glenn Carver - glenn.carver@atm.ch.cam.ac.uk
Ian Chivers - i.chivers@kcl.ac.uk
Carlie Coats - coats@ncsc.org
Alvaro Fernandez - alvaro@rice.edu
Wilhelm Gehrke - gehrke@rrzn.uni-hannov
Phillip Helbig - helbig@man.ac.uk er.d
Michael Hennecke - hennecke@rz.uni-karlsruhe.de
Adriaan Joubert - a.joubert@albourne.com
Kurt Kaellblad - kurt@lthbkl.bkl.lth.se
Bob Loeb - loeb@chevron.com
Dave Love - d.love@dl.ac.uk
Bill Mitchell - mitchell@cam.nist.gov
Lars Mossberg - mossberg@thn.htu.se
Charles D. Norton - nortonc@bryce.jpl.nasa.gov
Viggo L Norum - viggon@imm.ntnu.no
Thorsten Ohl - ohl@hep.tu-darmstadt.de
Clive Page - cgp@leicester.ac.uk
Werner Schulz - w.schulz@btinternet.com
David Serafini - dbs@caam.rice.edu
John A. Turner - turner@blueskystudios.com