Re: [Boost-users] General Boost documentation
Slightly off topic, but what I would find a great help with regards to learning Boost is a better description on what each library can do, and more importantly, what problems it solves. For example, perhaps someone has a problem they need to solve that a Boost lib will help with, but just reading through the top level of the documentation may not give them enough of a hint that this is the case. My pet one is simple loading and saving of configuration information in XML. Which library should/can I use for that? Serialisation? Or is there a better option? Or is there a boost lib in the wings perhaps aimed at that particular task? Another is Boost::graph - I see lots of questions about it on the list, but what real world problems does it solve? James ps. If nothing else of course, shared_ptr is ESSENTIAL!!
-----Original Message----- From: Lynn Allan [mailto:l_d_allan@adelphia.net] Sent: 24 April 2006 14:25 To: boost-users@lists.boost.org Subject: Re: [Boost-users] General Boost documentation
John Krajewski wrote:
I'm new to generic programming and finding the various concepts used in Boost quite confusing (named parameters, property maps, etc). Is there general documentation for the programming methods used in Boost? Perhaps a good book to buy?
<alert comment="boost newbie">
Welcome to the club of confused, disoriented newbies <g>.
Several suggestions:
* Start with a VERY basic library and try to absorb "The Boost Mentality".
* Stair-step up to a somewhat more difficult library ... repeat as necessary
* At this point, the Karlsson book, "Beyond the C++ standard library" might be helpful. For my purposes, the book had helpful regex examples (but regex is already relatively well documented, at least compared to several of the other Boost libraries I've wrestled with. Xpressive is very well documented, IMHO)
* Adapt a mindset that learning Boost is critical to your career, so giving up is not an option. (and when your neurons align "just so", Boost is kinda fun <g>)
* Also a humble attitude ... you are "rubbing shoulders" with some very smart people who are VERY busy, but passionate about Boost prevailing in the marketplace.
* Keep notes to share with others to perhaps shorten their learning curve.
I've found participants on this list to be VERY helpful and patient with newbies, but they won't write your code for you.
</alert>
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
From: "James Hughes"
My pet one is simple loading and saving of configuration information in XML. Which library should/can I use for that? Serialisation? Or is there a better option? Or is there a boost lib in the wings perhaps aimed at that particular task?
I'm assuming you are not following the current raging debate on the boost developers list, then. Your criterion is 'simple' meaning simple to use, I take it.... Currently being reviewed is just such a library, property_tree. It solves this particular constrained problem relatively simply but isn't to everyone's taste in design and implementation. The current debate has an element of 'purist vs pragmatist' programming. A 'simple' configuration file library *could* have multiple layers and components to decouple many different elements of design. In becoming more useful and extensible as separate components with clearly defined roles, it may perhaps be seen as less easy to use for this one role. That said, good motivating examples in documentation *can* make a seemingly complex collection of interacting classes seem just as simple as a dedicated 'property tree' as currently proposed. Sit down, relax and read the many current threads on the developer list or just go to the boost vault and download property_tree rev 5, then run for cover.
Another is Boost::graph - I see lots of questions about it on the list, but what real world problems does it solve?
On a more serious note, I completely agree (in general). A few more motivating examples of problems solved would benefit both existing and potential new users.
James Hughes wrote:
Slightly off topic, but what I would find a great help with regards to learning Boost is a better description on what each library can do, and more importantly, what problems it solves.
For example, perhaps someone has a problem they need to solve that a Boost lib will help with, but just reading through the top level of the documentation may not give them enough of a hint that this is the case.
This issue has recently been the subject of discussion on the developer list. I can't remember exactly what the outcome was, though. If you have any concrete suggestions on how to make the library overview without making it unreadably long, we'd love to hear them.
My pet one is simple loading and saving of configuration information in XML. Which library should/can I use for that? Serialisation? Or is there a better option? Or is there a boost lib in the wings perhaps aimed at that particular task?
The property_tree library currently under review can do exactly that. The Serialization library can load and save XML, but only in its own particular format, i.e. you cannot make it load a schema you have externally defined.
Another is Boost::graph - I see lots of questions about it on the list, but what real world problems does it solve?
That's what studying computer science is about: learning how to solve problems. Having learned graph theory, the simple statement that Boost.Graph helps with graph problems is worth a lot to me. There is no way to explain in a short statement what kinds of problems the library solves. Many kinds problems can be mapped to graphs. Sebastian Redl
participants (3)
-
James Hughes
-
Paul Baxter
-
Sebastian Redl