
In-Reply-To: <6.2.0.14.2.20050417091210.0840a328@mail.rudbek.com> vawjr@rudbek.com (Victor A. Wagner Jr.) wrote (abridged):
The shear size of boost bothers me in that I don't want to burden my source code control system unnecessarily.
21 meg isn't that much (for the headers)
Actually it's quite a lot. This is a "new tool" issue - once any new tool is incorporated into the code, we have to keep it around for ever, even if it proves useless and we stop using it 6 months later. It's a barrier to entry, and it would be a lower barrier if boost took 1 meg or 10k. Basically I am supporting the idea of splitting boost into a collection of small, independent packages. I don't know how big the subset I selected was, but it was probably nearer 10k. From memory it was operator.hpp, smart_ptr.hpp and static_assert.hpp, plus whatever they depend on (which I discovered by repeatedly attempting to compile). I didn't want to include anything I couldn't see an immediate use for. Instead I encouraged my colleagues to view the website and add anything they wanted from it. Nobody has yet done so, which I suppose weakens the claim that a small subset will lead to a bigger one.
The dependency issue bothers me too.
You'd seriously rather that people copy/paste code to reduce dependencies?
There's a trade-off. It depends on the size and complexity of the library code. For example, I once experimented with using operators.hpp to generate != from ==. The benefit seemed borderline. There is a hump involved in using 3rd party code, and for a one-line routine: inline bool operator!=( const MyType &a, const MyType &b ) { return !(a == b); } it hardly seems worth it. Operators.hpp has over 900 lines of code, full of #ifdef's for various compilers, templates and inheritance. To understand it you need to know about subtle language issues: for example how the inline "friend" generate non-member functions, or the nuances of the empty base class optimisation. The documentation is long and complicated. None of this can be understood at a glance, where-as the hand-written version above can.
I've had code break because a boost header somewhere redefined min and max.
where? when?
A few weeks ago. Probably using boost 1.31 - I'm not at work to check. I don't recall which header I #included. Probably shared_ptr.hpp.
the real problem is that MicroSloth [...] #define min and max as a result of using windows.h !!!!
I know. The point remains. Experienced programmers know that using any 3rd partly library can introduce problems. Boost is no exception. -- Dave Harris, Nottingham, UK.

brangdon@cix.compulink.co.uk (Dave Harris) writes: | In-Reply-To: <6.2.0.14.2.20050417091210.0840a328@mail.rudbek.com> | vawjr@rudbek.com (Victor A. Wagner Jr.) wrote (abridged):
The shear size of boost bothers me in that I don't want to burden my source code control system unnecessarily.
21 meg isn't that much (for the headers)
| Actually it's quite a lot. This is a "new tool" issue - once any new tool | is incorporated into the code, we have to keep it around for ever, even if | it proves useless and we stop using it 6 months later. It's a barrier to | entry, and it would be a lower barrier if boost took 1 meg or 10k. But if you need all you need all... In LyX we use a lot of stuff from Boost, but not all of it so we only provide the headers that we actually need: ca. 8 Mb. And compressed that should be ca. 1 Mb (maybe even less). | Basically I am supporting the idea of splitting boost into a collection of | small, independent packages. But not being able to use boost libraries to implement boost libraries seems very inconvenient. -- Lgb

At Sunday 2005-04-17 11:09, you wrote:
In-Reply-To: <6.2.0.14.2.20050417091210.0840a328@mail.rudbek.com> vawjr@rudbek.com (Victor A. Wagner Jr.) wrote (abridged):
The shear size of boost bothers me in that I don't want to burden my source code control system unnecessarily.
21 meg isn't that much (for the headers)
Actually it's quite a lot. This is a "new tool" issue - once any new tool is incorporated into the code, we have to keep it around for ever, even if it proves useless and we stop using it 6 months later. It's a barrier to entry, and it would be a lower barrier if boost took 1 meg or 10k.
do you keep all versions of your compiler around forever?
Basically I am supporting the idea of splitting boost into a collection of small, independent packages.
I don't see how that will help, but if you do, feel free to do so, I'll regression test anything.
I don't know how big the subset I selected was, but it was probably nearer 10k. From memory it was operator.hpp, smart_ptr.hpp and static_assert.hpp, plus whatever they depend on (which I discovered by repeatedly attempting to compile).
I have no idea how much (size or number of files) of the boost library I use in any (or even all) of my projects that use boost. It's completely irrelevant to me and I'm not sure I see the relevance to anyone.
I didn't want to include anything I couldn't see an immediate use for.
a true forward looking point of view.
Instead I encouraged my colleagues to view the website and add anything they wanted from it. Nobody has yet done so, which I suppose weakens the claim that a small subset will lead to a bigger one.
The dependency issue bothers me too.
You'd seriously rather that people copy/paste code to reduce dependencies?
There's a trade-off. It depends on the size and complexity of the library code. For example, I once experimented with using operators.hpp to generate != from ==. The benefit seemed borderline. There is a hump involved in using 3rd party code, and for a one-line routine:
inline bool operator!=( const MyType &a, const MyType &b ) { return !(a == b); }
it hardly seems worth it. Operators.hpp has over 900 lines of code, full of #ifdef's for various compilers, templates and inheritance. To understand it you need to know about subtle language issues: for example how the inline "friend" generate non-member functions, or the nuances of the empty base class optimisation. The documentation is long and complicated. None of this can be understood at a glance, where-as the hand-written version above can.
actually you don't need to "understand it" to use it, anymore than you need to understand the workings of the transmission in the auto you drive.
I've had code break because a boost header somewhere redefined min and max.
where? when?
A few weeks ago. Probably using boost 1.31 - I'm not at work to check. I don't recall which header I #included. Probably shared_ptr.hpp.
I find it difficult to believe that min and or max got "redefined" such that they became unusable (I'm pretty sure it would have shown up in the regression testing. I recall no such incident).
the real problem is that MicroSloth [...] #define min and max as a result of using windows.h !!!!
I know. The point remains. Experienced programmers know that using any 3rd partly library can introduce problems. Boost is no exception.
Experienced programmers know that using any code can introduce problems. This belief that "we're better than everyone else" is folly.
-- Dave Harris, Nottingham, UK.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Victor A. Wagner Jr. http://rudbek.com The five most dangerous words in the English language: "There oughta be a law"

"Victor A. Wagner Jr." wrote
I have no idea how much (size or number of files) of the boost library I use in any (or even all) of my projects that use boost. It's completely irrelevant to me and I'm not sure I see the relevance to anyone.
hmm....then whats the point of bcp? regards Andy Little

At Monday 2005-04-18 01:32, you wrote:
"Victor A. Wagner Jr." wrote
I have no idea how much (size or number of files) of the boost library I use in any (or even all) of my projects that use boost. It's completely irrelevant to me and I'm not sure I see the relevance to anyone.
hmm....then whats the point of bcp?
good question, what is bcp ? If it's some *nix utility, I don't really need a description of what it does, as I rarely, if ever, step into the *nix world.
regards Andy Little
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Victor A. Wagner Jr. http://rudbek.com The five most dangerous words in the English language: "There oughta be a law"

Victor A. Wagner Jr. wrote:
At Monday 2005-04-18 01:32, you wrote:
"Victor A. Wagner Jr." wrote
I have no idea how much (size or number of files) of the boost library I use in any (or even all) of my projects that use boost. It's completely irrelevant to me and I'm not sure I see the relevance to anyone.
hmm....then whats the point of bcp?
good question, what is bcp ? If it's some *nix utility, I don't really need a description of what it does, as I rarely, if ever, step into the *nix world.
Actually you only have to step into the tools directory in the boost tree. -- /Brian Riis
participants (5)
-
Andy Little
-
brangdon@cix.compulink.co.uk
-
Brian Ravnsgaard Riis
-
larsbj@gullik.net
-
Victor A. Wagner Jr.