|
Boost : |
From: Marshall Clow (marshall_at_[hidden])
Date: 2008-08-26 16:49:18
At 10:38 PM +0200 8/26/08, Christian Larsen wrote:
>Marshall Clow skrev:
>>At 7:19 PM +0200 8/26/08, Christian Larsen wrote:
>>>I completely agree, and that's also how I like to think of Boost,
>>>as serious, quality software. Not having a stable interface gives
>>>the impression that Boost is "hobby" development only, and can't
>>>be used for serious purposes. But that's really a shame, as I
>>>consider the Boost developers as some of the best in the world!
>>
>>I disagree.
>>
>>Changing interfaces, to me, implies that the developer:
>> * Discovered a better way to solve the problem that he faced.
>> * Decided that the benefits of the change outweighed the costs.
>>
>>The "don't change interfaces, ever, no matter what" is why we still
>>have "strcpy" and "mktmp", to name just two examples. Bad
>>interfaces are bugs; they should be fixed.
>
>No, no, please don't get me wrong. I'm not against changing
>interfaces in general, of course that's by all means the way to go
>if a better way is discovered. What I was trying to say is just,
>that for some uses it is nice to have a stable interface to stick to
>for a period until you decide yourself that have the time to upgrade
>to a new, and improved interface. Thus proving both options would be
>optimal, from a user's point of view.
But that way lies madness :-(
Basically, you can never remove an interface, because someone,
somewhere might be using it.
>Of course developers should improve interfaces all the time, but it
>is impossible for them to "decide" whether the benefits of the
>change outweigh the cost, because for some users the cost might be
>high.
I disagree (again).
The authors of the libraries are the only people who can decide when
to change the interface.
Other people can advise, and the authors should listen to them, but
eventually, they decide (just like they decided upon the interface in
the first place)
>Thus, from a user's point of view, the optimal approach is having
>both versions to choose from: a "bleeding edge" version including
>all improvements, and a "stable" version that you can use for a
>while until you decide yourself to upgrade to the new interfaces.
Oh, is that what you're looking for? Boost already has that!
The "stable versions" even have names: 1.34, 1.35, 1.36 (etc).
As long as you use 1.34 (for example), the interfaces are guaranteed
not to change. :-D
-- -- Marshall Marshall Clow Idio Software <mailto:marshall_at_[hidden]> It is by caffeine alone I set my mind in motion. It is by the beans of Java that thoughts acquire speed, the hands acquire shaking, the shaking becomes a warning. It is by caffeine alone I set my mind in motion.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk