
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@gmail.com>wrote:
On Tue, Mar 23, 2010 at 4:54 PM, David Bergman <David.Bergman@bergmangupta.com> 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