(j3.2006) Future deprecation of overriding character length, dimension and codimension
Cohen Malcolm
malcolm
Wed Feb 22 20:37:16 EST 2017
>Ugh. I would have been happy never being aware of this wart. Don?t
>think I?ve ever seen it in actual code.
A not uncommon style used to be to put all the length specs on the variables
instead of on the type name, e.g.
CHARACTER A*10,B*4,C*99
This has obvious advantages if you are declaring character variables with
lots of different lengths.
I don't think there is anything wrong with this. I do not support making
this obsolescent at this time.
Re DIMENSION and CODIMENSION, in my opinion it is the attribute on the
type-spec that is obsolescent, not the one in the entity-decl. I'd much
rather deprecate those! We can deprecate the DIMENSION and CODIMENSION
statements while we are at it, they serve no other purpose than to promote
unsafe programming practices.
>I'm not aware of any other
>place in the language where such overriding is allowed.
The way ASYNCHRONOUS and VOLATILE work (unlike every other specification
statement, they override the host associated entity's lack of those
attributes instead of creating a local entity) is much more confusing than
this.
>a paper that has to be passed by a majority?
It's WG5, and it's far too late to make technical changes that are not
fixes. This is not a fix. And WG5 is supposed to operate by consensus, not
the tyranny of the majority.
WG5 has already made several things obsolescent/deleted this time around. I
fully expect us to consider making more things obsolescent next time. Maybe
even delete some things, though that makes little difference to most vendors
other than the wording of the warning message.
Cheers,
--
.............Malcolm Cohen, NAG Oxford/Tokyo.
More information about the J3
mailing list