boost - who hasn't heard of it, and why?

J

Jeff Flinn

At the risk of raising the OT ire of some here, I'd like to know what might
be done to raise the awareness of the boost libraries.

I've found boost and it's libraries invaluable in my work for ~5 years now.
The first two postings in this group this morning are addressed almost
trivially by using libraries from www.boost.org. IMO, the functionality in
boost increases the usability of C++ at least as much as the standard
library does.

My company recently posted a job notice, where I specifically asked for
experience with boost and STL as a way of filtering candidates that fully
utilize C++, rather than 'C' programmers in 'C++' clothing. While only a few
candidates listed STL (even though it was the 2nd required qualification
listed), only one listed familiarity with boost. Unfortunately, that one was
living in western Canada and we're in the eastern US with no budget for
relocation.

Comments anyone.

Jeff Flinn
Applied Dynamics, International
 
V

Victor Bazarov

Jeff said:
At the risk of raising the OT ire of some here, I'd like to know what might
be done to raise the awareness of the boost libraries.

Just raise it. Talk about it. Otherwise, your post looks too much like
a camouflaged job advert. Try to avoid it. Had you not posted the
location of the job and the name of the company, you'd be staying more on
topic. IMNSHO.
 
G

Gernot Frisch

Jeff Flinn said:
At the risk of raising the OT ire of some here, I'd like to know
what might be done to raise the awareness of the boost libraries.

I've found boost and it's libraries invaluable in my work for ~5
years now. The first two postings in this group this morning are
addressed almost trivially by using libraries from www.boost.org.
IMO, the functionality in boost increases the usability of C++ at
least as much as the standard library does.

My company recently posted a job notice, where I specifically asked
for experience with boost and STL as a way of filtering candidates
that fully utilize C++, rather than 'C' programmers in 'C++'
clothing. While only a few candidates listed STL (even though it was
the 2nd required qualification listed), only one listed familiarity
with boost. Unfortunately, that one was living in western Canada and
we're in the eastern US with no budget for relocation.

Comments anyone.

Jeff Flinn
Applied Dynamics, International

I've used STL for a long time now, but only used spirit from boost.
Because spirit didn't succeed with older compilers, I didn't want to
risk platform independency when writing code. Maybe I was a bit too
lazy to read about the boost specs as well, because I don't see what
part of boost I might be missing. What exaclty is to _valuable_ about
boost? What for would I need auto_ptr or things like that?

Just my .02$

-Gernot
 
J

Jeff Flinn

Victor said:
Just raise it. Talk about it. Otherwise, your post looks too much
like a camouflaged job advert. Try to avoid it. Had you not posted
the location of the job and the name of the company, you'd be staying
more on topic. IMNSHO.

Your right, sorry. That certainly was not my intention. My thought was that
I would avoid the "then why didn't you hire that guy" type responses. And
that I'm with a real company. For the record we've found suitable
candidates(albeit w/out boost experience) and are not in the market for
others.

Jeff Flinn
 
P

Phlip

Jeff said:
My company recently posted a job notice, where I specifically asked for
experience with boost and STL as a way of filtering candidates that fully
utilize C++, rather than 'C' programmers in 'C++' clothing. While only a few
candidates listed STL (even though it was the 2nd required qualification
listed), only one listed familiarity with boost. Unfortunately, that one was
living in western Canada and we're in the eastern US with no budget for
relocation.

Comments anyone.

I ain't applying for Applied Dynamics, but I will (honestly) add Boost to my
resume immediately. Thanks for pointing this out!

My most recent gig with C++, High Moon Studios's Darkwatch videogame, used
Boost adroitly.

But I used Ruby ;-)
 
M

Matthias Kaeppler

Jeff said:
At the risk of raising the OT ire of some here, I'd like to know what might
be done to raise the awareness of the boost libraries.

I've found boost and it's libraries invaluable in my work for ~5 years now.
The first two postings in this group this morning are addressed almost
trivially by using libraries from www.boost.org. IMO, the functionality in
boost increases the usability of C++ at least as much as the standard
library does.

My company recently posted a job notice, where I specifically asked for
experience with boost and STL as a way of filtering candidates that fully
utilize C++, rather than 'C' programmers in 'C++' clothing. While only a few
candidates listed STL (even though it was the 2nd required qualification
listed), only one listed familiarity with boost. Unfortunately, that one was
living in western Canada and we're in the eastern US with no budget for
relocation.

Comments anyone.

Jeff Flinn
Applied Dynamics, International

Couldn't agree more. My current (hobby) project utilizes
boost::filesystem, boost::lambda, boost::algorithm, and will soon be
also using boost::program_options and maybe boost::shared_ptr if I
should stumble across the need of dynamic memory allocation.

I found boost extremely rewarding in terms of productivity, because it
provides clean and extremely well formed solutions for day-to-day
problems. It should really get more attention.

And I'm not even a professional developer, just another computer science
student enjoying C++ programming in his spare time.
 
J

Jeff Flinn

Gernot said:
I've used STL for a long time now, but only used spirit from boost.
Because spirit didn't succeed with older compilers, I didn't want to

VC6 is soon to be 3 versions out of date.
risk platform independency when writing code. Maybe I was a bit too
lazy to read about the boost specs as well, because I don't see what
part of boost I might be missing.
What exactly is so _valuable_ about boost?

By using boost libraries I'm able to focus on application features at a
higer level with less source code written/maintained by me. Some of the more
often used libraries in my applications include:

A simple example is the boost::filesystem library. I can now deal with
path's explicitly without cluttering the rest of my code with tokenizing and
verification code. I can then explicitly say that a data member is a path,
rather than a just generalized string. We can also replace/avoid the spawing
..bat files(resplendant with goto's) with simpler code for doing file
manipulations.

boost bind/function/lambda all make the STL algorithms that take predicates
or function objects worth using. seeing std::transform, std::find is self
explanatory when reading code (from others and increasingly from myself from
years earlier) then just seeing for loops. Additionally, I was able to use
boost bind/function to wrap non-thread-safe legacy C dll's with a task
queueing system within a few days. This eliminated numerous difficult to
reproduce bugs that our customers were seeing in the field with out GUI.

The boost crc library allows me to efficeintly determine if a document
changed indicator needs to be displayed in a graphical user interface, or to
prompt the user if they need to save a document before closing it.

dynamic_bitset simplifies bit flag manipulation for flags whose lengths vary
at runtime.

iterator library allows me to reuse both std algorithms and custom
algorithms with non stl containers. I've been able to succinctly/correctly
wrap many MS MFC conceptual containers, such as document views, filedialog
file selection lists, ... Use the same algorithm on a vectors or pointers or
objects, or maps by using transform and indirect iterators.

boost preprocessor libary simplified maintenance by replacing copied code
with macros that generate multiple function overloads with 1 to N arguments.

program_options helps to quickly create utility programs that handle
argument validation and dispatch.

regex supports regular expression processing for user input validation.
While there are other regex libraries, it's nice that the boost libraries
have a consistent feel. Once you use a few the others are even easier to
utilize.

serialization is used to save program state between closing and opening
applications, to supporting GUI cut/paste drag/drop operations.

signals - provides the publisher/subscriber framework at level of
granularity to support our app's multiple tree view interface.

smart_ptrs - see below

static_assert traps programming errors at compile time.

spirit - embed parsers within C++ source code. Replaces manual dissection of
strings with consistent parsing operations for large/small simple/complex
grammars.

string_algo has finally allowed me to drop use of proprietary string
classes. std::string did not easily support sub string replacement, ...

tokenizer - presents tokens with an iterator interface that allowed use with
standard algorithms.

utility/noncopyable simultaneously documents and disables copy/assignment
for classes where such operations are not desired.

....

What for would I need auto_ptr or things like that?

boost shared_ptr, scoped_ptr, weak_ptr, have all significantly increased the
reliablity of our products since they were used to replace much of the
manual memory management that previously caused problems.

Jeff Flinn
 
H

Howard

....

All that's very nice, but why are you trying to sell us on the virtues of
using the boost libraries? Are you getting royalties? :) Anyway, I think
we're veering off the topic of the C++ language here...

-Howard
 
D

Default User

Jeff said:
At the risk of raising the OT ire of some here, I'd like to know what might
be done to raise the awareness of the boost libraries.

You actually feel Boost doesn't get enough of a well, "boost" in this
newsgroup? That's not my experience.
I've found boost and it's libraries invaluable in my work for ~5 years now.
The first two postings in this group this morning are addressed almost
trivially by using libraries from www.boost.org. IMO, the functionality in
boost increases the usability of C++ at least as much as the standard
library does.

However, the standard library is standard. Boost isn't, although
elements of it are being considered for inclusion into the standard. It
is a third-party library and should technically be off-topic here, but
that's not the consensus of majority of the newsgroup.

Some of us who work on projects with approved toolsets can't just use
any old library they want. For us, this includes Boost, although our
tools group is looking at it as I recall from the last user's meeting.

Well, that's the end of my standardized grumble that I feel moved to
spew every now and then.



Brian
 
C

ChasW

...

All that's very nice, but why are you trying to sell us on the virtues of
using the boost libraries? Are you getting royalties? :) Anyway, I think
we're veering off the topic of the C++ language here...

-Howard

Howard,

Similar things have also been said about C and C++ as C++ came into
its own.

IMO it isn't veering OT when you compare native C++ to boost libraries
for two reasons.

1) the comparison itself directly concerns what C++ can do on its own
and why perhaps newer, innovative libraries may increase productivity
without a significant hit to fundamentals such as cross platform
compatibility and standardization.

2) specifically regarding boost, if I am not mistaken, the library is
being considered for addition to C++ anyway.

So, you can point out in arrogance that this individual may or may not
be getting royalties, but the fact remains. Boost is receiving
consideration and is growing in popularity.

Charles
 
C

charles.nicholson

erm, that's not entirely true. For clarification, only one or two of
our tools use boost, and we certainly don't use it (or the STL) for the
actual game itself.
 
D

Default User

erm, that's not entirely true. For clarification, only one or two of
our tools use boost, and we certainly don't use it (or the STL) for the
actual game itself.


When posting from Google, don't use the Reply at the bottom of the
message. Instead, click "show options" and use the Reply shown in the
expanded headers. This will give a reply with quotes and attributions
and all that good proper usenet stuff.




Brian
 
J

Jonathan Turkanis

erm, that's not entirely true. For clarification, only one or two of
our tools use boost, and we certainly don't use it (or the STL) for
the actual game itself.

What are you denying here? That you use Boost "adroitly"?

Jonathan
 
W

Wiseguy

Jeff Flinn said:
At the risk of raising the OT ire of some here, I'd like to know what might
be done to raise the awareness of the boost libraries.

I've found boost and it's libraries invaluable in my work for ~5 years now.
The first two postings in this group this morning are addressed almost
trivially by using libraries from www.boost.org. IMO, the functionality in
boost increases the usability of C++ at least as much as the standard
library does.

My company recently posted a job notice, where I specifically asked for
experience with boost and STL as a way of filtering candidates that fully
utilize C++, rather than 'C' programmers in 'C++' clothing. While only a few
candidates listed STL (even though it was the 2nd required qualification
listed), only one listed familiarity with boost. Unfortunately, that one was
living in western Canada and we're in the eastern US with no budget for
relocation.

I guess I'm left to be the voice of dissent here. Boost sucks! I'd be
very pisst if the iso standards folks ever considered adding the boost
libraries to the c++ standard. my gripes are based in several reasons

1) the boost project REQUIRING jam to build the libraries is just plain
wrong!

2) the documentation for boost is innadequate and I've noticed on more
than one occasion it is incorrect...example...the messerne twister
rng is broken and not properly documented as to what range of numbers
are returned. previous versions returned 0..1 and newer viersions
return 0..MAXINT but only determined this by experimentation and needless
debugging of an already working program...the gist of this is that
a doxygen run of a c++ header file IS NOT ADEQUATE DOCUMENTATION!

I'm really NOT a fan of boost...STL is all important and I'll agree that
a real OO C++ programmer should be fluent in STL but I think your statement
about using boost to filter out (real c++ programmers) is a bit off-base.


and I've been looking for SO work since 2002 when my six figure UNIX
consulting salary went away and companies started hiring VB script
kiddies at $10/hr. I'm not greedy but won't work for a poverty wage
either.
 
F

Fabio Fracassi

Wiseguy said:
I guess I'm left to be the voice of dissent here. Boost sucks! I'd be
very pisst if the iso standards folks ever considered adding the boost
libraries to the c++ standard. my gripes are based in several reasons

1) the boost project REQUIRING jam to build the libraries is just plain
wrong!

So what? If they are included into the Standard they will come bundled with
the compiler, and you can just use them. No need for building them.

Remember that the Standard defines only the Interface, the Implementation is
up to the compiler vendors. (Even if quite a few will use the Boost
implemntation)
2) the documentation for boost is innadequate

I've seen much worse! Besides Documentation Quality will be better once it
is included in the standard, since more People will write about it.
I'm really NOT a fan of boost...STL is all important and I'll agree that
a real OO C++ programmer should be fluent in STL but I think your
statement about using boost to filter out (real c++ programmers) is a bit
off-base.

One should have at least heard about it, because they have solutions to many
common C++ Problems. If you can solve the Problems in a better way, fine.

Besides not all of Boost will get into the standard, smart pointers and
boost::filesystem are relativly certain, Threads will probably be
revisited, and then added, from what I have heard.

regards

Fabio
 
C

charles nicholson

Jonathan said:
What are you denying here? That you use Boost "adroitly"?

Heh, point taken. I suppose that what little boost we use, we use
'adroitly'. I don't think its presence in our codebase is large enough
to support the claim that-

"High Moon Studios's Darkwatch videogame, used Boost adroitly."

when the game runtime and 95% of our asset pipeline and tool chain
didn't use it at all. One last-minute tool was developed using boost.
I guess my issue is more with the verb "used" than the adverb
"adroitly".

chas
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,294
Messages
2,571,507
Members
48,193
Latest member
DannyRober

Latest Threads

Top