Boost logo

Boost :

Subject: Re: [boost] 5 Observations - My experience with the boost libraries
From: Tom Brinkman (reportbase2007_at_[hidden])
Date: 2010-03-23 20:19:27


>> If you're looking for something that makes C++ worse than C for
>> graphics programming, you won't find it simply because C++ is a
>> superset of C. Anything you can do in C you can do in C++ too.

Exactly right. Thanks for rewording that for me.

>> There are only two benefits of using C++ even for such C-style
interfaces:

>> 1) Use exceptions to report errors.
>> 2) Use shared_ptr instead of relying on users to call destroy.

>> The latter is not too important because even the pure C interface can
>> easily be wrapped in a shared_ptr by the user.

Agreed.

On Tue, Mar 23, 2010 at 5:07 PM, Emil Dotchevski
<emildotchevski_at_[hidden]>wrote:

> On Tue, Mar 23, 2010 at 4:54 PM, David Bergman
> <David.Bergman_at_[hidden]> wrote:
> > On Mar 23, 2010, at 7:40 PM, Tom Brinkman wrote:
> >
> >>>> To you. There are many graphics shops that make extensive use of c++
> >> *and* boost.
> >>
> >> Not true. Sure, we use C++ around the edges. The actual graphics code
> is
> >> all done in C. There are no popular C++ graphics libraries. Sorry.
> Its
> >> not possible, graphics libraries require hardware acceleartion.
> >
> > I never understood this idea that some libraries were not
> > possible to build in C++?
>
> If you're looking for something that makes C++ worse than C for
> graphics programming, you won't find it simply because C++ is a
> superset of C. Anything you can do in C you can do in C++ too.
>
> I believe what Tom means is that the graphics interfaces typical C++
> programmers design are not as good as graphics interfaces designed by
> C programmers. From that point of view, C++ programmers do have a lot
> to learn from C programmers. There is nothing more encapsulating and
> more abstract than a basic C interface:
>
> struct foo;
> foo * create_foo( ..... );
> void frobnicate( foo * );
> void destroy_foo( foo * );
>
> For such interfaces, the most important thing is to physically
> decouple the user from implementation details. Templates and classes
> are useless for that.
>
> There are only two benefits of using C++ even for such C-style interfaces:
>
> 1) Use exceptions to report errors.
>
> 2) Use shared_ptr instead of relying on users to call destroy.
>
> The latter is not too important because even the pure C interface can
> easily be wrapped in a shared_ptr by the user.
>
> Emil Dotchevski
> Reverge Studios, Inc.
> http://www.revergestudios.com/reblog/index.php?n=ReCode
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk