PJ, I'm not attacking you personally in any way. All I know about your
work habits is what you've told this group, and what I've read in CUJ;
I'm not trying to criticize you or your techniques.
Use of the terms "whine", "cluttered", and "abuse" are pejorative.
Thanks for clarifying your goal, but I encourage you to be a bit
more careful in how you achieve it in future.
I see that from
your point of view, the move to extensionless standard headers caused an
unpleasant change. Things that used to work stopped working. I'm sorry
for this.
Thanks. Me too.
To be frank, though, I think that the removal of filename extensions
from the standard headers was the right move. It helps decouple C++
from any particular development model or file system. C++ developers
working with particular IDE's or sets of platforms can still use
whatever conventions are appropriate. Ways of working with the standard
headers in the same way one works with other headers are readily
available, using links, shortcuts, or other platform-specific techniques.
None of what you say is improved in any way that I can see by the
removal of filename extensions. Given that *.h headers had been in
use for roughly a quarter century when the committee decided to
remove them, and given that they continue to be used as C headers,
it's hard to argue that any existing platform would be inconvenienced
by retaining them. OTOH, the C++ committee violated its charter, in
part, by breaking with past practice. There are many ways they could
have achieved their stated goals without eliminating filename
suffixes altogether. (I do accept the fact that they did. I only
complain when the topic rears up anew, as it does from time to time,
as part of the overall discussion.)
I'm certainly not trying to tell you your job; I don't have anything
like the depth of experience that you do. I do however think that file
naming conventions have little or no place in the C++ standard.
And I think they're one of the central aspects of the C++ Standard.
We certainly give a lot of thought to consistent header naming for
each new proposed addition (and did so during the drafting of the
original standard).
If you
are working on some other set of libraries, and (as you said above) are
forced to used extensionless headers for them, it's an issue with that
contract, not the C++ standard.
Except that this particular part of the contract is written that way
*because* of the decision made by the C++ committee. That decision
also circumscribes the naming options for all sorts of headers being
proposed with various Technical Reports, all of which Dinkumware is
implementing. This is *not* a problem confined to a fixed set of
files ghettoized in their own private directory. Certainly not for
us, and often not for others. (But see separate reply for more details.)
I'm truly happy that this change has little or no effect on your work
habits. That means it's less disruptive than I first feared.
P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com