In article <9f3ea756-8380-43f9-b740-093ef2c4e443@
34g2000hsf.googlegroups.com>,
says...
[ ... ]
> As for my general dislike of VC++, I think it mainly comes from the
> fact that when I try to look into the source code of Boost (or some
> other c++ libraries), I can always see specific workarounds dedicated
> for MS's broken compiler (among a few other broken compilers).
Most of these are for Microsoft's older compilers -- especially for VC++
6.0. OTOH, it's open to a lot of question whether this should be seen
negatively or positively. The reason the workarounds are there is
because people still use VC++ 6.0 despite it's being over a decade old
-- and the reason people still use it long after all its contemporaries
have long since disappeared is largely that for a lot of purposes it's
still usable, while it's contemporaries are not.
IMO, "broken" with reference to a compiler is a nearly meaningless term.
From a pure conformance viewpoint, I'm reasonably certain every C++
compiler on earth is broken, though the degree to which they're broken
varies. Most older compilers were, of course, a lot more broken than
newer versions of the same. Even the EDG compiler (and ones based on it
such as Intel and Comeau) isn't really perfect -- though it's clearly
better than most others.
[ ... ]
> Recently versions of VC++'s compiler maybe have been better their
> older ones. But still, broken.
Until or unless you define some fairly specific (and non-obvious)
meaning for "broken", the same could be said of every other C++ compiler
available and remain true. Worse, almost regardless of what any compiler
vendor does, it's likely to remain true indefinitely -- C++ is
sufficiently complex that getting a compiler truly perfect is more a
dream than a realistic goal. EDG is about as close as it gets, and the
guys at EDG are pretty close to fanatical about writing the best
possible compiler -- but their compiler's still "broken" if you take
that to mean "not perfectly conforming".
Worse, their target is moving: the 2003 standard for C++ is five years
old now, but nobody's really even produced a truly conforming compiler
for C++ 98 yet. Meanwhile, the standard committee is working at putting
the final touches on the new standard to render both of those obsolete
again -- and it adds a LOT of new stuff that'll keep the compiler
vendors busy for quite a while ("busy" meaning their current motto is
probably: "sleep is a disease caused by caffeine deficiency").
--
Later,
Jerry.
The universe is a figment of its own imagination.