Why doesn't Irrlicht use STL?

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
agi_shi
Posts: 122
Joined: Mon Feb 26, 2007 12:46 am

Post by agi_shi »

CuteAlien wrote:
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.
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.
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).
Halifax
Posts: 1424
Joined: Sun Apr 29, 2007 10:40 pm
Location: $9D95

Post by Halifax »

Well, this is the word from Niko in a message that he replied to, from me:
TheQuestion = 2B || !2B
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

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
Saturn
Posts: 418
Joined: Mon Sep 25, 2006 5:58 pm

Post by Saturn »

Right. But that purpose is fulfilled, unless he sees it also as fun to maintain them. ;)

And debunking of the other points already has been done in the comments to this blog post, with hybrid right at the front.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

No, I also saw my comment. But that was only due to class initialiser reordering and other stuff. We don't have any more warnings in containers currently 8)
Halifax
Posts: 1424
Joined: Sun Apr 29, 2007 10:40 pm
Location: $9D95

Post by Halifax »

Oh, yeah, I believe those ideals are out the window to. I just figured I would post his full answer to my question about why the containers are kept in Irrlicht.
TheQuestion = 2B || !2B
agi_shi
Posts: 122
Joined: Mon Feb 26, 2007 12:46 am

Post by agi_shi »

[...] And they are really fast.
[...] and to let Irrlicht keep its performance equally everywhere
:roll:
Irrlicht compiles with 7 (or even more) different compilers [...]
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" :|
Ok, and honestly, another reason for implementing the containers was because I had fun doing that.
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 ;).
Halifax
Posts: 1424
Joined: Sun Apr 29, 2007 10:40 pm
Location: $9D95

Post by Halifax »

agi_shi: That was a little bashish. I really don't think there was any need for that post...
TheQuestion = 2B || !2B
Post Reply