Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!cs.utexas.edu!tut.cis.ohio-state.edu!purdue!bu-cs!xylogics!uucp From: PDM1881%mvs.draper.com@RELAY.CS.NET Newsgroups: comp.lang.fortran Subject: RE: REACTIONS TO 8X VOTE Message-ID: <7485@xenna.Xylogics.COM> Date: 24 Oct 89 06:54:55 GMT Sender: uucp@Xylogics.COM Lines: 98 > > > This vote is good news for the ENTIRE FORTRAN community. > > PRESLEY, YOU CANNOT BE SERIOUS! It is an unmitigated disaster. > I agree with both sides!!! Clearly, it is in everyone's best interest to have a single standard. The problem is that X3J3 has done a terrible job. First they spent several years cooking up a strange brew. Then when we finally figured out what they had done, they didn't listen to our complaints. (Because the previous X3J3 did such a superlative job on FORTRAN 77, we were complacent during the early years of the new committee. How many people even considered that it was a new committee?) As I read it, WG5 is desperate for a new standard and will make do with Fortran 8x. Some of us in the U.S. want the right standard. It is my hope that Fortran 8x will be defeated and will not become an ANSI standard. Yes, it is truly unfortunate that ISO is going the other way. As I understand it, there is dissention in the European community as well, if not in WG5 votes, so there may be some hope. As a long time member of the SHARE FORTRAN Project, I personally urged that X3 retain the FORTRAN 77 standard. My intent remains one standard. I wish to reject Fortran 8x, even if it is adopted, and it appears likely that 8x will be adopted in the face of major objections. What else can I do? X3J3 has consistently refused to make the kind of sweeping changes to 8x which are required. Their small simplifications have been largely cancelled by recent additions. I feel it is likely that a majority of FORTRAN programmers in the U.S. do not want 8x. The vast majority at my company certainly don't want it. Should I meekly go along? Ultimately, all I get to say is yes or no. I say no. Standards are supposed to "codify existing practice." FORTRAN 77 clearly did that, when it was approved. Fortran 8x just as clearly does not. It contains two or three times as many changes as it should. 8x makes fundamental changes in how the language should be used. Keep in mind that a significant number of active FORTRAN programmers do not know the correct IF-THEN-ELSE-ENDIF syntax of FORTRAN 77 well enough to use it regularly. Fortran 8x is far too complicated. It will require new tools - compilers, debuggers, analyzers - rather than improvements to existing tools. Why should we pay for them? Here is a cursory list of features which should be considered for removal: * MODULE-USE. A decent INCLUDE is what we really need. * The gratuitous change from CHARACTER*n to CHARACTER (LEN=n). Also, the double colon (::). * The KIND parameter. - Use a new data type such as GRAPHIC for double byte characters. - Define a minimum precision for REAL such as 10 decimal digits. This would propagate the change to existing code. Instructions to the processor may specify a different precision for REAL and DOUBLE PRECISION, primarily to allow old programs to function without change. * Internal procedures. * Masked array assignment. * Vector subscripts. * Pointers. The proposed standardization of INCLUDE is useless. It has clearly been written to silence those who clamored for it, without an attempt to provide a portable tool. The authors clearly want MODULE-USE to be employed and INCLUDE to be avoided. The current definition of "INCLUDE line" is processor dependent in the source code. Some people like that, but it must be extended to the "INCLUDE statement": INCLUDE '(lib-name)' "lib-name" is a Fortran name of 6 characters or less (the processor is permitted to allow longer names). The processor must support instructions independent of the source program defining where all referenced source text resides. It is intended that these instructions define one or more libraries or directories to be searched according to known rules for each "lib-name". This form is required to provide a portable, standard, INCLUDE facility. X3J3 should have defined full FORTRAN 77 as the subset for the new standard, and provided it on the left side of facing pages. BNF is OK, so long as it is used for both, so that comparisons can easily be made. Pete Matthews, Jr. C. S. Draper Lab. (My own opinions, of course.)