A cross-platform C++ systems library for game development

Started by
16 comments, last by choffstein 16 years, 5 months ago
Quote:Original post by Konfusius
Quote:Original post by Spoonbender
Of course, but it's still a valid question for the parts that do overlap with Boost.

Coherence?

If one wants coherence, then one would presumably use a library which was designed to look and feel like the standard library... as Boost was.
Advertisement
Quote:Original post by Sneftel
Quote:Original post by Konfusius
Quote:Original post by Spoonbender
Of course, but it's still a valid question for the parts that do overlap with Boost.

Coherence?

If one wants coherence, then one would presumably use a library which was designed to look and feel like the standard library... as Boost was.


Well, it started as a framework, and as such it presumably has its own abstractions and look and feel.
I think your library is fantastic! I really hate boost and stl because of their syntax and calling conventions. I've always wanted something with the same feel as the .NET libraries and yours is exactly that. Great job!
Author Freeworld3Dhttp://www.freeworld3d.org
Yes, I don't mean to start a Boost vs. Commonc++ argument. I just think it would be great if the author could share some of his opinions on why he reimplemented some of these constructs, and any areas where he thinks his approach is better than that taken by Boost. This would help others in choosing which to use.
Quote:Original post by soconne
I really hate boost and stl because of their syntax and calling conventions.

Uh... their calling conventions? What problem do you have with __thiscall?
Quote:Original post by Sneftel
Quote:Original post by soconne
I really hate boost and stl because of their syntax and calling conventions.

Uh... their calling conventions? What problem do you have with __thiscall?
Real programs only use __fastcall.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Well, as others have pointed out, boost is a rat's nest of templates and cryptic symbols. The boost libraries are modeled after STL which itself has, in my opinion, an ugly API. I modeled commonc++ after Qt and the Java core APIs, which I've used extensively and which I believe are much more intuitive, more "elegant" (aesthetically, if not functionally) and much easier to wrap one's head around than boost.

commonc++ was designed to be a reasonably complete and self-contained wrapper around non-portable operating system APIs. It is meant to serve the same role for C++ programs as APR (the Apache Portable Runtime) does for C programs: it hides the messiness (particularly on Windows) of said system APIs, making it possible to write complex systems software that will run on all of the supported platforms without changes to the code.

There is indeed overlap in functionality but I think in general commonc++ provides portable access to a wider range of OS functionality than the equivalent boost libraries. For example how do you set a thread's scheduling priority or create a detached thread with Boost.Thread? And of course there is a whole lot of systems-level functionality in commonc++ for which there is no equivalent in boost.

I think both commonc++ and boost have their place. I wrote commonc++ because I'd looked at Boost (and other similar libraries) and none of them really suited my needs. It was open sourced with the hope that others might also find it useful.




Well that looks pretty durn sweet. I am installing it on my MacOSX box as we speak. Sure will make future projects a lot easier!

Thanks for all the hard work there mate! I will definitely keep coming back for the updates!

This topic is closed to new replies.

Advertisement