is COM outdated?

Started by
8 comments, last by Rydinare 15 years, 8 months ago
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?
Advertisement
COM and related technologies has stayed unchanged for a long time now. Older sources should be adequate for implementing and consuming COM interfaces.
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.
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.
Vista has some new COM interfaces (eg the new IThumbnailProvider); it's not going anywhere soon. [smile]

[Website] [+++ Divide By Cucumber Error. Please Reinstall Universe And Reboot +++]

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.
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.
"In order to understand recursion, you must first understand recursion."
My website dedicated to sorting algorithms
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'?
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.
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?

This topic is closed to new replies.

Advertisement