What does COM object mean?

It's basically an old technology used for writing programs in the Windows environment. It's big and complex and wasn't enjoyable to manage/support. The .NET framework is its replacement.


A COM object is basically a black box that implements some known interface. It can also register itself with Windows so that programs can get a hold of it.

For example, let's say there is some interface ICalculator, that I write my program to use. I can now swap in any object, written in any programming language (since it is a binary interface) that implements ICalculator. Then at runtime, I can provide some sort of option to my users so that they can choose to use the FooCorpCalculator COM object, written in Python, or perhaps if they need more speed they can choose a NinjaCalculator written in C. The point is, I write my program to depend on an interface, not an implementation, and then choose to use the actual COM object that implements the interface later.

There's a lot more to it, of course, but that may be an example that makes it more concrete for you.