On Thu, Feb 19, 2004 at 05:16:53PM -0600, Alan Shutko wrote: > Mike M <[EMAIL PROTECTED]> writes: > > > C++ seems to be steaming away in this direction. I've got my doubts > > that the .h is going away in C however. > > As far as I know, nobody has proposed that the C header files change > in this way.
I was unaware too until someone in this thread posted that stdlib.h is out and cstdlib is in. > > > It seems that this is going to cause more portability problems than > > it solves. Code written for advanced compilers will be incompatible > > with older compilers. > > This has been a problem of C++ for at least a decade. But at least > it looks like it's finally getting better now that the standard is > standardized and compilers catch up. A decade of C++ becomes deprecated? How can this be? I argue that it cannot from a practical point of view. The body of existing work is too large to allow drastic change. On the one hand we have a standards committee and eager-to-please compiler maintainers creating features and requiring us to change existing code to adapt to the new features. On the other hand we have consumers that require our code to compile with their compiler that may not support the new feature. As a result, code is filled with #ifdef statements. Ironically, I've just been introduced to a client's coding standard that takes a dim view of #ifdef statements. They think such statements make the code too difficult to maintain. I think they just don't have many portability issues to deal with. I am not opposed to new features in C++ as long as they are not mandatory. If the new features are mandatory, then rename the language to C+++ so there'll be no confusion. Back to the case in point - header files. Why the change? To support the namespace feature? A project as well-known as Mozilla says to not use namespace because it's not portable. This is in direct conflict with the advice that adhereing to standards makes you portable. Rather, it seems, what makes you portable is knowledge of how the world really works and copious testing. I've worked in telecom for many years and from that I know that when a system becomes very large, you can no longer change the standards on which it is based. The costs are too great. The new must adapt to the old. -- Mike Two hundred years ago, we note mischievously, the average American or European had a standard of living not very much superior to that of the average man in India or China. -- dailyreckoning.com -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

