The Computer Oracle

What does COM object mean?

--------------------------------------------------
Hire the world's top talent on demand or became one of them at Toptal: https://topt.al/25cXVn
--------------------------------------------------

Music by Eric Matyas
https://www.soundimage.org
Track title: Darkness Approaches Looping

--

Chapters
00:00 What Does Com Object Mean?
00:15 Answer 1 Score 4
00:52 Accepted Answer Score 3
01:09 Answer 3 Score 12
02:05 Answer 4 Score 1
02:45 Thank you

--

Full question
https://superuser.com/questions/273761/w...

--

Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...

--

Tags
#terminology #com

#avk47



ANSWER 1

Score 12


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.




ANSWER 2

Score 4


See this Wikipedia article: Component Object Model

Component Object Model (COM) is a binary-interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range of programming languages. The term COM is often used in the Microsoft software development industry as an umbrella term that encompasses the OLE, OLE Automation, ActiveX, COM+ and DCOM technologies.

A COM object is often implemented in a DLL file. They can be used by programs for a variety of functions. The term "object" as used here refers to objects in object-oriented programming.




ACCEPTED ANSWER

Score 3


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.




ANSWER 4

Score 1


COM is set of Windows-specific technologies to enable code reuse and interoperability, primarily at the level of the binary (not necessarily at the level of the source code).

In the early 1990s Bill Gates didn't permit that the Powerpoint development team implement an own charting subsystem for the Powerpoint product, because Microsoft already had Excel. So they developed a specification to enable their in-house products to exchange data and call each others functions. Microsoft generalized these APIs, published them and a lot more code design guidelines.

See this video from 2006: Tony Williams: Co-inventor of COM

I think, that now in 2012, COM is still at the core of WMI and Office.