O Unix, do "pipe" para cima, é projetado em torno de processos que se comunicam em protocolos de texto simples. Assim, o design de vários protocolos da Internet - SMTP, HTTP, IMAP, POP, etc. - é legível por humanos. Portanto, os desenvolvedores precisam escrever código de redação e análise de protocolo, mas geralmente é fácil interoperar com programas que você não controla.
O Windows, por contraste, é construído em torno da chamada de chamada / método do procedimento. O COM e os sucessores fornecem maneiras de estender as chamadas de procedimento para as DLLs, através de threads de um processo, entre processos e através da rede. Tudo isso é bastante transparente, especialmente em linguagens orientadas a objeto. Isso facilita a gravação de aplicativos muito grandes em rede, desde que você controle todos os componentes. Isso dificulta a troca de parte do complexo sistema interligado por um novo código. Por exemplo, o formato de arquivo do Microsoft Word é muito estranho como um formato de arquivo, mas simples como uma representação dos objetos na memória usada pelo Word. O protocolo de transferência do Exchange é MAPI-over-DCOM: do ponto de vista dos desenvolvedores do Outlook, tudo o que eles precisam fazer é obter um objeto de caixa de correio e chamar métodos, enquanto as pessoas que tentam implementar clientes e servidores alternativos veem um protocolo de conexão que não é fácil de interoperar.