formatted reading: real format without dot

Richard E Maine Richard.Maine@nasa.gov
Mon May 15 17:27:00 GMT 2006


On May 15, 2006, at 12:49 AM, Manfred Schwarb wrote:
   [about the nonstandard F4 format without a decimal point]

> Well, I don't want to promote such usage ...
> I just think that gfortran should ease transition for g77 users...

It isn't my call, but I'll throw in my two cents.

</rant>

If gfortran does decide to support the form, don't fool yourself  
about the result. It *WILL* promote the usage. I'd guess that g77 had  
it in order to ease transition,etc.

Of course, this is just a restatement of my personal opinion that  
gfortran accepts too many nonstandard practices in the name of  
compatibilty with various compilers, including g77. Yes, there are  
costs to accepting them.

Of course, there are the obvious costs of documenting, implementing,  
and maintaining them. These costs are almost always hugely  
underestimated. For a start, people seem to miss the parts about  
documentation and maintenance. Unless I have missed it somewhere,  
documentation of gfortran's extensions is already severely  
shortchanged. Is there anywhere even a comprehensive list of  
gfortran's extensions, much less a precise definition of the exact  
details of each one? The source code does not count. In my view, this  
lack is a huge deferred cost. If I were evaluating an investment  
property with such a large deferred maintenance, it would pretty much  
rule out the purchase. Are people who advocate extensions giving even  
token consideration of documentation requirements? The evidence I see  
would suggest not.

I see a short list in the docs wiki. If that list is actually  
anywhere near complete, then I am obviously way off base on this  
whole question. In that case, please ignore my whole posting as  
uninformed ranting. I could have sworn I have heard discussions of  
numerous extensions beyond that short list - like at least an order  
of magnitude more.

Then there are the potentials for conflicts with other features and  
extensions. The lack of comprehensive documentation exacerbates this  
problem. When looking at some *OTHER* feature, how do you know what  
it will break if you don't even know what there is to potentially be  
broken? Language extensions can interact in ways that make complexity  
grow far worse than linearly, as each new extension has more things  
that it might interact with.

I consider the question "why not?" to be indicative of an  
inadequately cautious attitude towards extensions. Or perhaps, it is  
just that my attitude is overly cautious. So let me state it more  
neutrally: I consider the question to be indicative of an attitude  
that differs greatly from mine. Sure there are some extensions that  
are a good idea - I agree with that, and I think almost everyone does  
to some degree. But I think that each extension needs to be carefully  
considered and justified. And by justified, I mean more than just  
stating that some existing code uses it, since if that is the  
criterion, you will end up with an unworkable mess of every extension  
ever used in any compiler, including extensions that conflict with  
each other. At the least, I'd expect a justification that was based  
solely on existing code base to include an estimate of how much  
existing code uses it, which other compilers do and don't support it,  
how difficult code conversion would be, the importance of the codes,  
etc. And I'd expect those estimates to be realistic - I've seen  
people in J3 who overstated the importance of absolutely every  
proposal they submitted as being critical to the continued survival  
of Fortran - the exageration is counterproductive in that it tends to  
make me doubt their judgement of everything.

</end rant>

-- 
Richard Maine                |  Good judgment comes from experience;
Richard.Maine@nasa.gov       |  experience comes from bad judgment.
                             |        -- Mark Twain



More information about the Fortran mailing list