COM is language indpendent
COM servers may be written with a different language and an entirely different operating system. COM objects have the capability of being remotely accessible. That means they may be in a different thread, process, or even on a different computer.
The other computer may even be running under a different operating system. There needs to be a good way to transmit parameters over the network to objects on other machines. This problem is solved by creating a new way to carefully specify the interface between the client and server.
There is also a new compiler called MIDL (Microsoft Interface Definition Language). This compiler makes it possible to generically specify the interface between the server and client. MIDL defines COM objects, interfaces, methods and parameters.