Search code examples
.netcom

Component Object Model


My question is directed towards developers who are familiar with COM. I am currently writing my college thesis which is partially about Microsoft COM.

  1. is COM still used today for purposes besides legacy code
  2. everyone says COM is obsolete. Why is the new Windows Runtime an 'enhanced' COM based API? What is meant by the word 'enhanced'
  3. are there any significant upsides to COM compared to .NET or vice versa
  4. any recommendations where to learn more about COM and .NET Interop and how exactly does it work

Please support your answers with facts as much as possible! Thank you.


Solution

    1. Yes.

    2. COM is still core to the way Windows works. Wherever a C-style api won't suffice, COM is the next step to expose an object model. And yes, Store apps are COM servers.

    3. COM is native code, it adds very little overhead and is usable from practically any language that was ported to Windows.

    4. Visit amazon.com to search for books, read the reviews.

    It is not essential anymore to have to know COM to write programs that run on Windows. Lots of work was done to wrap it and make it friendlier. The language projections in Store language runtimes are notable, there are very few traces of the underlying COM code visible. Relegating it to a status that's comparable to learning assembly language programming.