|
Boost : |
Subject: Re: [boost] Respecting a projects toolchain decisions (was Re: [context] new version - support for Win64)
From: Edward Diener (eldiener_at_[hidden])
Date: 2010-12-29 01:27:11
On 12/28/2010 9:48 PM, Dave Abrahams wrote:
> At Tue, 28 Dec 2010 09:02:04 -0500,
> Edward Diener wrote:
>>
>> Software design is almost always an individual conception and
>> no amount of community involvement is going to change that. Of course
>> a developer can be influenced by the comments of others about the
>> particulars of a software library. But I can never believe that a
>> community of people can effectively design a software library no
>> matter what proof you may want to try to bring from other environments
>> like Linux and other open source projects.
>
> Good designs can be the product a small community. I designed the
> Boost.Iterator library with two other people. I believe that there
> are at least five people who could be considered designers of the
> Spirit library, probably more. In that case there's one visionary
> leader, but IIUC, design work is actively solicited and used.
I do not disagree that more than one person can design a library. But
whoever does so needs to understand the ideas and implementations
involved to a great degree. I still believe that the smallest number of
people who can work at a really good design to accomplish a programming
task in a reasonable amount of time, the better, and I still believe
that 1 is the ideal number. I do recognize that a large library of
functionality may require more than 1 largely based on the wealth of
functionality desired. But usually, with a small group of designers, as
you point out their is one leader whose impetus is the reason for the
existence of the library, and this ensures that the basic design ideas
are adhered to without others pulling in different directions.
I do realize that a design can be flawed in some ways, or can be
improved in some ways, which the original designer may not foresee, and
therefore it is advantageous to hear from others in a software
community. But I adhere to the belief that design by commmittee or
design by community produces mediocre and badly usable software the
great majority of the time. I feel the same way about any creative
endeavor in life.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk