Sign in to follow this  
coreSOLO

is COM outdated?

Recommended Posts

I understand the basic concepts behind COM, DCOM and COM+. I need to create an application for Win XP which would require the services of DCOM and I cnt make it in .NET, but when I go thru COM or DCOM tutorials, they are 5-8 years old. I want to know has there been a vast change in COM/DCOM/COM+ in these years? If yes, which is the updated version i can use?

Share this post


Link to post
Share on other sites
COM and related technologies has stayed unchanged for a long time now. Older sources should be adequate for implementing and consuming COM interfaces.

Share this post


Link to post
Share on other sites
COM is kinda outdated in the sense that the technology isn't progressing forward any further, and there are more preferred ways to achieve the same things with .Net, etc..

I would suggest avoiding COM, if you can, since COM is moving towards being legacy at most companies.

Share this post


Link to post
Share on other sites
Quote:
Original post by Rydinare
COM is kinda outdated in the sense that the technology isn't progressing forward any further, and there are more preferred ways to achieve the same things with .Net, etc..

...which are built on top of COM...

COM isn't "outdated." It's simply a fixed target that is not actively developing. It's a stable technology and API.

Share this post


Link to post
Share on other sites
The C++ version of DirectX/DirectShow/DirectInput/Direct3D,etc.. is all based on COM. That's how older versions are still supported.
It's true that COM/DCOM/etc.. are old interface programming models, but they're still in use.

Share this post


Link to post
Share on other sites
Microsoft have 'de-emphasised' COM, that's all. It's still an actively used technology and will be for quite some time. It's alive and well-supported from .NET code too. In more recent operating systems they've even created ways of doing registration-free COM.
DCOM is the backbone of our client/server technology.

Share this post


Link to post
Share on other sites
Quote:
Original post by Oluseyi
Quote:
Original post by Rydinare
COM is kinda outdated in the sense that the technology isn't progressing forward any further, and there are more preferred ways to achieve the same things with .Net, etc..

...which are built on top of COM...

COM isn't "outdated." It's simply a fixed target that is not actively developing. It's a stable technology and API.


In a sense you're right, but again, why would someone choose to code something new in pure old-school COM, at this point? Not to mention that COM is an utter disaster in C++. But, of course, that's just my opinion. [smile]

It's outdated in the same way that C is outdated. The fact that it's not moving forward -- well, consider that if you're not moving forward, then you are falling behind, with the pace of the software industry. The market for jobs using COM is diminishing and will continue to decline. Why continue to use a technology that's becoming 'de-emphasized'?

Share this post


Link to post
Share on other sites
Quote:
Original post by Rydinare
It's outdated in the same way that C is outdated.

That is, not at all for appropriate tasks. While there is a significant overlap of application domains that alternative technologies/interfaces may be superior for, there remain a core set of operations that are better performed in these "outdated" technologies, C, assembly... COM.

Quote:
Why continue to use a technology that's becoming 'de-emphasized'?

Because sometimes it's the only sensible way to get something done, and sometimes it's the only way to get things done (you may notice that the OP, coreSOLO, stated "...and I c[a]nt make it in .NET..."). .NET is a wonderful abstraction, but it leaks. A lot. And when an abstraction leaks, you have to go a step down and get your hands dirty.

Share this post


Link to post
Share on other sites
Quote:
Original post by Oluseyi
Quote:
Original post by Rydinare
It's outdated in the same way that C is outdated.

That is, not at all for appropriate tasks. While there is a significant overlap of application domains that alternative technologies/interfaces may be superior for, there remain a core set of operations that are better performed in these "outdated" technologies, C, assembly... COM.

Quote:
Why continue to use a technology that's becoming 'de-emphasized'?

Because sometimes it's the only sensible way to get something done, and sometimes it's the only way to get things done (you may notice that the OP, coreSOLO, stated "...and I c[a]nt make it in .NET..."). .NET is a wonderful abstraction, but it leaks. A lot. And when an abstraction leaks, you have to go a step down and get your hands dirty.


That's fair. I think we're mostly in agreement. Now, I'll admit I haven't done much .Net, though from what I saw, it was light years ahead of COM for the tasks I tried. Not having done too much with .Net, can you give me an example of some of the leaky abstractions?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this