Re: problem Boost libraries
* Pete Becker:
Alf P. Steinbach wrote:
Assume that you're working on a C++ source code file, of sufficient
size that you find it impractical to do the compiler's job yourself.
I'm not sure what this means. I expect the compiler to do it's job, and
I expect myself to do my job. My job is to write correct code, and that
means, in part, knowing where the names that I use are defined. It's not
the compiler's job to do that for me.
How realistic is it that one writes correct code without having the
compiler check it?
Assume further that this file compiles cleanly with
standard-conforming compiler A. How do you know that the file has
included all necessary standard C++ library headers so that it will
also compile cleanly with standard-conforming compiler B, without
actually using compiler B?
You don't. When you port to compiler B, fix the errors. That's usually
one of the simplest parts of porting, especially if you've taken care to
get the include directives right in the first place.
The question was how to get the include directives correct in the first
place.
If I understand you correctly here, in your opinion a library does not
need to support practical automated detection of missing includes --
instead, one should simply try the client code with all relevant
compilers, as and when needed ("When you port ... fix")?
The C standard library designers were then presumably misguided trying
to support the automatic detection of missing header includes?
On the other hand, if you expect the compiler to have detected
everything you did that might not be easy to port, you're probably going
to spend a long time porting.
No, I don't expect that: it seems to be a hasty generalization.
I think it would be nice if, wrt. including all necessary standard
library headers, the standard supported practical automated detection of
whether a C++ program is standard-conforming.
This instead of a gradual evolution towards correctness, by trying the
code with each new relevant compiler, library implementation and
configurations & versions of (your "When you port ... fix" procedure).
Cheers,
- Alf
--
A: Because it messes up the order in which people normally read text.
Q: Why is it such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]