[comp.lang.fortran] Fortran 8x Removed Features

cdb@hpclcdb.HP.COM (11/17/87)

One comment on the notes seen so far on the net (and in print articles) - the
most common misconception I keep hearing is about COMMON, etc being removed
in F8x.  This is flat wrong.  The "language evolution" concept is described
as a three-step process :

   1)  Deleted features, removed in Fortran 8x : NONE.  F8x is a proper
       superset of F77.  Care has been taken to even preserve the interface
       to assembly code routines called from F77.  Only exceedingly dull
       vendors will obsolete anything - and standards committees can't
       legislate stupidity out of existence.

   2)  Obsolescent features, redundant even in Fortran 77.  These are 
       retained in F8x, but marked for possible deletion in Fortran 9Y
       (the next standard after F8x, call it what you may).  The features
       on the obsolescent list:

	  A)  Arithmetic (three-label) IF
	  B)  DO loops using REAL or DOUBLE PRECISION loop control variables
	  C)  Terminating multiple DO loops on a single statement
	  D)  Branching to an END IF statement from outside its IF block
	  E)  Alternate returns from subroutines
	  F)  PAUSE statement
	  G)  ASSIGN statement, assigned GO TO, and assigned format specifiers 

       THESE are the features you MIGHT see go away in your programming life,
       not the Deprecated list below.

   3)  Deprecated features, redundant in Fortran 8x.  These are features
       which X3J3 thinks have better variants in Fortran 8x, but for which
       there is no reasonable replacement already available.  This list
       (in my opinion) is rank speculation on what a committee for the
       second revision after this might think about replacing.  On the
       historical schedule, this discussion will occur at least twenty
       years from now.  At age 35, I can say with certainty that I will
       see a Fortran compiler without COMMON in my retirement, if then.
       The world of computing moves very fast - the only prediction I
       feel certain of is that the whole question of what Fortran should 
       be will look very different in 2007.  The list:

	  A) Assumed-size dummy arrays
	  B) Passing an array element or substring to a dummy array
	  C) BLOCK DATA program units
	  D) COMMON statement
	  E) ENTRY statement
	  F) EQUIVALENCE statement
	  G) Fixed source form
	  H) Specific names for intrinsic functions
	  I) Statement functions
	  J) Computed GO TO
	  K) Old form of the DATA statement and allowing DATA statements
	     mixed into executable code
          L) DIMENSION statement
	  M) DOUBLE PRECISION statement
	  N) Character length declarations bye *len syntax
       
       Appendix B of the draft Standard describes the replacements proposed
       for these features - I intend to let my children (if any) fight out the
       details and my grandchildren implement them.

						Carl Burch
						hplabs!hpda!cdb

cik@l.cc.purdue.edu (Herman Rubin) (11/18/87)

The article gives 21 FORTRAN features slated for eventual deletion.  Some
of them I have not used, but about 15 of them are simple constructs, easy
to use, and not easily replaced by anything reasonable.  I suspect that
another person will find the same about the ones I have not appreciated.
We need more powerful languages, not language police.

-- 
Herman Rubin, Dept. of Statistics, Purdue Univ., West Lafayette IN47907
Phone: (317)494-6054
hrubin@l.cc.purdue.edu (ARPA or UUCP) or hrubin@purccvm.bitnet