Tuesday, June 21, 2005

Shit infestation

Warning, if you think ATL and MFC are enjoyable API expiriences, you should not read this.

I'm working in a project making a product that needs to cross-compile against both Solars and Windows. For this you obviously need unified interfaces for containers.

Trough some history I'm glad not to have been involved, the choice fell on the Microsoft flavor of containers and API's, coming from ATL and MFC.

Obviously I'm not a fan of these APIs. I'm hardly a fan of the STL, but I hink its interface is as close as you get to coherent and nice as is possible in a language like C++.
Of course I think coherent and nice are important properties in code, if you disagree there's again no point in reading along, go troll some Blogs about how great Windows XP is.

The choice to take proprietary containers from M$ not only led to the lamentable situation that these actually had to be implemented on unix by this project. It also lead to a complete mess whenever you start using std:: containers. For this reason std:: containers are shunned, and everything that works on them.
If you don't know ATL, rest assured, iterators are not supported.
No! You can't go and iterate like for( contType::iterator i=x.beg(); i!=x.end(); i++ ) (of course this is a far cry from "for x in y" of python) but hey, as good as it gets aye?

Well the point of this post? I'm annoyed. Even though I'm not on windows, and even though what we programm right now is never going to work on windows, I still have to cope with their moronic excuse of containers.

That's what the natives from where I come call a shit infestation.

1 comment:

Anonymous said...

As a Newbie, I am always searching online for articles that can help me. Thank you