$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Paul Giaccone (paulg_at_[hidden])
Date: 2006-02-03 05:17:56
David Abrahams wrote:
>"Matt Doyle" <mdoyle_at_[hidden]> writes:
>
>
>>A potential new user needs a way to find out what exactly is in
>>boost. Right now if I want to solve a particular problem and I don't
>>know which library to use, I basically have to drill down through
>>the list and read the overview for each one.
>>
>>
>
>What would you propose as a better system?
>
>
The issue is this: the current documents say "Library X does Y", or, in
functional notation, y = foo(x). If you know x, you can find y.
Unfortunately, the new user knows y, and so needs x = bar(y), where
bar() is the inverse of foo(). (What's more, the user doesn't even know
that they need x = bar(y) because they don't know that Boost deals with
y by providing bar(y) until they start hunting through the docs.)
A better system would be (in addition to what is already there, rather
than as a replacement for it) to provide this inverse function in the
docs, so, in addition to the alphabetical list at
http://boost.org/libs/libraries.htm (which is foo()) there is a list
corresponding to bar(), but with a little more detail. I am thinking of
something along the lines of:
Standard C++: *Memory allocation on the heap*, which requires careful
management by the user
Boost: *Smart pointers*, which do not require this kind of management
(with the emboldened text or something similar to catch the user's eye)
Now, I know what you're thinking - come on then, walk the walk,
contribute a list and we'll put it in the documentation. I would do
this but I am only familiar with a handful of the libraries. If this
idea is taken on, it needs to be implemented by a person who is, or
group of persons who between them are, familiar with all of the libraries.
Paul