To COM or not to COM

Started by
4 comments, last by Newfound Ajarn 20 years, 2 months ago
... that is the question. Anyway, I''m remaking this hobby 3d-engine that I have been working on for about a year (didn''tget very far, but learned a lot), and I''m wondering if it would be worth it to write my components COM based. I see that this engine might become big for me and my friends eventually, and if it''s COM based it;s easy to upgrade and everything is backword compatible. Main question, Is COM really that good?
VLAjarn: Cause it (linux) NEVER crashesMrPr0Grmer: lol ur wrongMrPr0Grmer: RedHat crashesVLAjarn: I'm saying good builds of linux
Advertisement
Read a good book on it and make your own decision. I doubt anybody wants to go into a detailed discussion of the finer points of the pros and cons of COM with you, but suffice it to say, there are plus points and negative points.

The one thing I AM seeing with more and more engines these days is separating everything out into dlls. FarCry''s executable (for the beta anyways) is only 28KB. But there''s 15MB of dlls alone right next to it.

daerid | Legends | Garage Games | Spirit | Hapy | Boost | Python | Google
"Doomed to crumble, unless we grow, and strengthen our communication" - Maynard James Keenan, Tool
daerid@gmail.com
COM does have lots of advantages. There will be a bit more code involved in actually implementing your components, but probably not much more compared to the total ammount of code you''ll be dealing with, so that is negligable.

I would recommend giving COM a try. I''ve actually just started expirimenting with it myself, recently, and I''m very glad I''ve done so. Of course, like daerid said, "Read a good book" and "make your own decision".

Aside from pure technical aspects, however, there are other things to consider. For example, because COM has its "frozen interface" rule, which is a gloriously good idea, you''re more likely not to change those interfaces. What I''m meaning is, using something like COM will probably make you play a little nicer with your code.

Good look in your COM decisions, and your engine.
(http://www.ironfroggy.com/)(http://www.ironfroggy.com/pinch)
good look? :D
Abnormal behaviour of abnormal brain makes me normal...www.zootfly.com

I recommend COM.

.bas

[sPiKie] mmorpg isnt hard in vb
.basprintf ( "And for the %dth time, I'm not American!", ++lIdiots );My homepage
The crystalspace engine has its own plugin system called the Shared Class Facility which was inspired by COM but is their own design. It is cross platform.

It''s a great project, worth getting into as they''re really good folks and its a good learning resource too.

This topic is closed to new replies.

Advertisement