Any and all control one might want from a container is within the allocators - which the STL completely exposes via template'd allocators. Other "features" of containers must be put in the wrong place, containers do not need any more functionality (bad design).CuteAlien wrote:We're not missing your point. If you read the thread you will notice that this was already mentioned, though maybe with a little friendlier wording. We're all well aware of this. And I don't think it's much about pride, it's maybe a little about giving up control - something which c++ programmers never like to do (why would they programme c++ otherwise?). And certainly about all the other arguments which got mentioned by now.agi_shi wrote: also @ CuteAlien:
I think you're both missing the point here. It doesn't matter whether a "quick look" at the source reveals the bug or not - there's too many places for "quick looks". The C++ standard library is already looked at, it's got all of this fixed for you, and it is guaranteed (in any full C++ compiler, of course, don't use VC++ 6 or something). It's really not about the "pride" of Irrlicht's own containers here, because, quite bluntly, they fall far behind the vigorously tested and used C++ STL; unfortunately, pride doesn't get you speed nor reliability.
Why doesn't Irrlicht use STL?
Well, this is the word from Niko in a message that he replied to, from me:
Hi,
just take a look here: http://www.irrlicht3d.org/pivot/entry.php?id=232
TheQuestion = 2B || !2B
-
- Admin
- Posts: 3590
- Joined: Mon Oct 09, 2006 9:36 am
- Location: Scotland - gonnae no slag aff mah Engleesh
- Contact:
Thanks. I think we can respectfully but comprehensively debunk most of that, except for "honestly, another reason for implementing the containers was because I had fun doing that", which stands on its own merits.
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
[...] And they are really fast.
[...] and to let Irrlicht keep its performance equally everywhere
Any (good) programmer should be using either mingw/GCC or MSVC; getting something to compile across many (7?!) compilers (many of which are non-standard) is not a "good thing"Irrlicht compiles with 7 (or even more) different compilers [...]
Trust me, I went through that phase, too. You should see all of my LinkedList and String and SmartPtr classes. Which I all scrapped at once when I realized std::list, std::string, and boost::shared_ptr were the professional versions .Ok, and honestly, another reason for implementing the containers was because I had fun doing that.