COM defines an API to take into account the creation of parts for use in coordinating custom applications or to enable different components to the interface. But the end goal is to interact, components must stick to a binary structure indicated by Microsoft. As long as the components stick to the binary structure, all the components written in various languages can interoperate.