COM
COM is a technology that allows defining software components so that they can be used from a variety of programming languages. It allows components to be used from the same process, from a different process and also from a process running on a remote computer.
Advantages
- Language independence
- Very good support - many Microsoft technologies (Office, IE) still rely massively on COM
- Seamless usage from more modern technologies, such as .NET
Disadvantages
- Complex implementation
- Memory management is reference counted, which means circular references can cause issues
- Global registry information storage can cause problems with different versions of the components
Derived technologies
- ActiveX
- COM+
- DCOM
- OLE
- OLE Automation
Development tools
- Microsoft Visual Studio
- C++