From: Moore, Paul (paul.moore_at_[hidden])
Date: 2000-06-06 10:41:56
From: Beman Dawes [mailto:beman_at_[hidden]]
> Whichever approach is taken, I don't think that broken compilers
> should be the driving force in making decisions. See below.
> It is useful to accommodate broken compilers only if it doesn't
> compromise the key design features of a library. Broken compilers
> eventually get fixed or get abandoned. Don't make big-picture
> decisions based on compiler idiosyncrasies.
As a MSVC user who has been vocal in the past about MSVC support, I feel I
should comment here. I agree entirely that support for broken compilers
should not be the key design driver. However, in the specific instance of
expression template libraries, this is a fairly important new programming
technique which deserves/needs exposure to be accepted (witness the original
STL, as a similar type of library). In this case, I think it is important to
make the technology as widely available as possible.
In my view, the implication of this is that, while I agree that Boost should
only provide one expression template library, it should go to fairly extreme
lengths to be usable on as many compilers as possible. This may require
degradation of usability and even removal of features on certain compilers
(similar to the early STL implementations on MSVC, where allocators weren't
supported, full lists of template parameters were always required, etc), but
there should remain a usable core of features to get people "hooked". If
MSVC users have access to a well-known, high-profile and useful library, but
with missing or limited features, then there will be cries of "MSVC doesn't
support boost::expression", which are more likely to result in action than
theoretical standards-conformance complaints (I don't like this fact, but
I'm pretty certain it's true...)
This argument generalises to many other areas, each of which people will
view as "important". We'll have to make careful judgements. But the more a
library looks like it may become a de facto standard in its area, the more
use a partially-working MSVC becomes as a stick to beat MS with...
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk