From: Christian Larsen (contact_at_[hidden])
Date: 2008-08-26 16:38:33
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.
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. 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.