Quote: "DarkGDK
-You have to try and learn two coding languages to be successful"
Yes, C++ and oh wait, nothing else. Of course you could use the .net version thus use C# or something.
Quote: "dbPro"
+ easy/memorable syntax and identifiers
- slow compilation
- slow runtime speed
- too verbose; impedes development time and requires you remember a lot of very long-winded names
- terrible error handling and general lack of debugging ability/tools
- doesn't scale well for large projects due to a lack of objects/namespaces/libraries/proper scopes/bacon
Quote: "DarkGDK"
+ easy to use compared to most other libraries that offer similar
+ due to (likely)using C++ it'll be way faster than DBPro in most scenarios
- compiled using retarded settings, and the wizard doesn't even properly set the project up to work with all of the standard library(each release seemingly randomly alternates between release and debug versions without providing both)
- poor documentation, it's literally a find/replace of the DBPro docs and fails to document vital information such as how its returned strings are stored
- it lacks usage of even basic and fundamental C/C++ principles such as namespaces, const-correctness, objects(by large) etc
Quote: "Ogre3D"
+ cross platform
+ has third-party bindings for a ridiculous amount of libraries
+ is well-written and has many games under its belt, including several on steam
- is well-written, for C++, thus anyone not proficient in the language may get confused
- requires you understand quite a lot of concepts before you can really do much
* though those aren't really negatives of the library
Quote: "Irrlicht"
+ cross platform
+ comes with lots of libraries as well as has bindings for others, but it's not like coming with them is much better than not
+ is well-written and I have no idea what's been made with it
- same as above I guess, but I have very little knowledge about it
Quote: "dx/ogl"
+ you can't practically get much lower-level than them, thus you have access to everything without much abstraction
- lower-level, thus you have to abstract it to get any of the advantages of the above things
* there's not much point in using these directly as you'll end up wasting loads of time, there's plenty of libraries out there that are cross platform and wrap everything very nicely, so why reinvent the wheel? Especially since many of the libraries allow you to fork off them if you want some crap version of it