From bill@amber.ssd.csd.harris.com Tue Feb  1 11:42:09 1994
Received: from travis.csd.harris.com by dkuug.dk with SMTP id AA12132
  (5.65c8/IDA-1.4.4j for <sc22wg5@dkuug.dk>); Tue, 1 Feb 1994 22:42:25 +0100
Received: from amber.ssd.csd.harris.com by travis.csd.harris.com (5.61/harris-5.1)
	id AA29654; Tue, 1 Feb 94 16:42:11 -0500
Received: by amber (5.61/CX/UX-5.0)
	id AA10525; Tue, 1 Feb 94 16:42:09 -0500
Date: Tue, 1 Feb 94 16:42:09 -0500
From: bill@amber.ssd.csd.harris.com (Bill Leonard)
Message-Id: <9402012142.AA10525@amber>
To: dtm@castle.ed.ac.uk
Cc: sc22wg5@dkuug.dk
In-Reply-To: <199402012006.AA08782@dkuug.dk> (message from D Muxworthy on 01 Feb 94 18:24:14 GMT)
Subject: Re: (SC22WG5.487) Comp.lang.fortran comments on evolution
X-Charset: ASCII
X-Char-Esc: 29

>  Date: 01 Feb 94 18:24:14 GMT
>  From: D Muxworthy <dtm@castle.ed.ac.uk>
>  On the other hand, there are some forward looking users, as evidenced by this
>  quote:

>  >  And, a Common statement should allow Character variables to reside
>  >  with any other variable types.  Once again, VS Fortran allows this --
>  >   as an extension.

>  And an extension it should remain, in my opinion.  Programmers should not be
>  encouraged to do this sort of thing.  Besides, there is already a workaround
>  in the form of internal I/O (with the A format descriptor).  And of course
>  COMMON itself should be on the way out.  As soon as I get a Fortran 90
>  compiler, I'll convert all my common blocks to modules.
>  ---------------------------------------------------------------------------

Well, I'd take this response with a large block of salt, since it appears
that the commentor didn't know what he was talking about.  I can't see how
internal I/O with an A format descriptor is a workaround for having
CHARACTER and non-CHARACTER data in a single COMMON block.

The fact is, there is no technical reason for this restriction to remain.
It is a holdover from ancient architectures.  Furthermore, F90 now allows
structures containing both CHARACTER and non-CHARACTER data, and COMMON is
nothing more than a big structure.  So what's the problem?

I'm always suspicious of comments such as "As soon as I get a Fortran 90
compiler, I'll convert all my common blocks to modules."  I suspect that
person either doesn't have very much Fortran code or else he has lots too
much spare time on his hands!  Most real-life programmers don't have time
(or the money) to convert huge amounts of code unless it is absolutely
necessary.  So the code either gets converted in small chunks (which is
hard to do with COMMON blocks), or never gets converted until it is
rewritten or simply thrown away.

I am not saying that language evolution is always bad.  But like genetic
evolution, it must go slowly if it is to have more beneficial than
detrimental effect.

Bill Leonard
Harris Computer Systems Division
2101 W. Cypress Creek Road
Fort Lauderdale, FL  33309
bill@ssd.csd.harris.com

These opinions and statements are my own and do not necessarily reflect the
opinions or positions of Harris Corporation.

------------------------------------------------------------------------------
"Governments, like individuals, spend money for any or all of three
reasons: because they want to, because they have to, or because they have
it to spend."
                                                  Rex Stout
------------------------------------------------------------------------------
