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