Is boost a library or a framework?

Hi, My head has been spinning lately on trying to nail down the difference between a library and a framework. One of my co-workers calls Boost a framework because it is a collaboration of components, and the fact that boost is so large makes it a framework. However, boost boasts itself as a library and I'm just wondering why it is such. One definition I read for a framework is that it has no requirement to be minimal, and boost is a fairly un-minimal library. Read the link below on an interesting conversation between the differences in a library and a framework: http://www.artima.com/forums/flat.jsp?forum=106&thread=152104

On Tue, Mar 25, 2008 at 8:27 PM, Robert Dailey
Hi,
My head has been spinning lately on trying to nail down the difference between a library and a framework.
It is a group of libraries.
One of my co-workers calls Boost a framework because it is a collaboration of components, and the fact that boost is so large makes it a framework.
IMO, a framework imposes a design. Your code doesn't use a framework, the framework uses your code. Boost libraries avoid that. [snip] -- Felipe Magno de Almeida

Robert,
IMO framework is a collaboration of classes which aim to focus in a concrete
functionality. Just think of Java Struts. This is a HUGE framework. It's
purpose is solely for server based programming in enterprise sector and
abstraction layer for web UI (more or less). Boost is a lib which consist of
a huge collection of particular libs. All these libs are not assigned to
function in some specific layer. They can be used as well in server based
programming as in UI. Try to use Struts to calculate some specific
mathematical formulas... You will probably fail, unless your own classes.
And I don't think struts will be ever adding this functionality, because
this is not the focus of it and probably will never be.
Hope that helped.
Ovanes
On 3/26/08, Robert Dailey
Hi,
My head has been spinning lately on trying to nail down the difference between a library and a framework. One of my co-workers calls Boost a framework because it is a collaboration of components, and the fact that boost is so large makes it a framework. However, boost boasts itself as a library and I'm just wondering why it is such. One definition I read for a framework is that it has no requirement to be minimal, and boost is a fairly un-minimal library. Read the link below on an interesting conversation between the differences in a library and a framework:
http://www.artima.com/forums/flat.jsp?forum=106&thread=152104
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users

G'day all.
Quoting Robert Dailey
My head has been spinning lately on trying to nail down the difference between a library and a framework.
My rule of thumb is that a framework more or less takes over main(), and a library doesn't. By this vague definition, Boost is, for the most part, a collection of libraries. The one exception is Boost.Test, which is a framework. Not being a framework is a real strength of Boost. It means that it will never get in the way of your application, and will work alongside any other libraries, as well as any sufficiently "modern" exception-safe framework. Cheers, Andrew Bromage
participants (4)
-
ajb@spamcop.net
-
Felipe Magno de Almeida
-
Ovanes Markarian
-
Robert Dailey