
Microsoft promove Rust a linguagem Tier-1 ao lado de C++ e C#
Status Tier-1 e escopo
A Microsoft passou a tratar Rust como linguagem Tier-1 para desenvolvimento interno, ao lado de C++, C# e TypeScript. O status significa oferecer aos times internos um caminho pavimentado do desenvolvimento local à produção: builds seguros da cadeia de ferramentas, ferramental produtivo, fluxos de qualidade, integração profunda com a plataforma e conformidade com requisitos do SDL que software da Microsoft precisa atender. A empresa já vinha sinalizando importância estratégica do Rust, inclusive em declarações do CTO do Azure, Mark Russinovich, e em investimentos de milhões de dólares no projeto Rust.
A plataforma Windows e o MSVC evoluíram juntos por décadas, com C e C++ como blocos de construção. Com a adoção de Rust, a Microsoft precisa garantir que inovações do MSVC e do Windows estejam disponíveis tanto para C++ quanto para Rust, com interoperabilidade contínua. O MSVC é o compilador nativo da plataforma Windows, e Rust precisa participar plenamente desse ecossistema à medida que seu uso cresce em firmware, drivers, kernel, hipervisores, microsserviços e aplicativos. Isso é especialmente importante em projetos híbridos Rust/C++.
rustc_codegen_utc e plataforma unificada
O principal investimento nessa direção é o rustc_codegen_utc, backend alternativo de geração de código para o rustc, na mesma família arquitetural de rustc_codegen_llvm, rustc_codegen_gcc e rustc_codegen_cranelift. Ele se conecta à mesma interface de backend e liga a maquinaria compartilhada do compilador Rust ao backend do MSVC, também chamado UTC. A iniciativa integra uma estratégia mais ampla de plataforma para apoiar alta compatibilidade com o ecossistema de ferramentas e ABI do Windows; endurecimento binário e recursos de segurança de código; compliance, análise e manutenção pós-link, incluindo Hotpatch; interoperabilidade fluida entre Rust e C++ em projetos híbridos; inlining, otimização e SPGO entre linguagens; depuração e análise de crash dumps; e criação de perfil, diagnóstico e cobertura.
Essas capacidades foram construídas ao longo de muitos anos com a pilha MSVC. Conectar o rustc a esse backend permite que Rust aproveite o mesmo investimento de plataforma com compatibilidade pronta, em vez de exigir implementação paralela de cada recurso específico do Windows. O resultado é uma plataforma unificada de geração de código para Rust e C++ no Windows. Como C++ ainda domina após décadas de desenvolvimento, usar uma base unificada reduz custos de manutenção e evolução. Novos recursos de geração de código, segurança, diagnóstico e manutenção passam a chegar a ambas as linguagens. Isso importa operacionalmente e também estrategicamente, pois Rust participa diretamente do ecossistema de engenharia nativo do Windows. Muitos sistemas usarão as duas linguagens por anos.
Interoperabilidade, implantação e alcance
Em outras plataformas, projetos híbridos Rust/C++ que compilam C++ com Clang já podem alcançar a mesma plataforma de geração de código LLVM. O rustc_codegen_utc cria oportunidade semelhante de backend compartilhado para projetos C++ nativos do Windows, onde o MSVC é o compilador nativo. Cabe ressalva: geração de código, particularidades de plataforma, ABI, tratamento de exceções e ferramentas pós-link são apenas metade do desafio de interoperabilidade. Interoperabilidade de alto nível entre linguagens, contratos FFI, bindings, diferenças semânticas e sistemas de build estão entre os problemas trabalhados internamente e em toda a indústria, com esforços da Iniciativa de Interoperabilidade da Rust Foundation.
O rustc_codegen_utc é um investimento de um time dedicado da Microsoft DevDiv e está pronto para produção desde o início de 2026. Ele é auto-hospedado desde o Rust 1.90 e faz parte de uma plataforma Rust interna mais ampla, que inclui builds seguros da cadeia de suprimentos do rustc, biblioteca padrão, ferramentas associadas, integração com desenvolvimento local, pipelines de produção e fluxos comuns de qualidade e conformidade. Mais de 100 repositórios de projetos da Microsoft já compilam com ele, e a adoção continua semanalmente. A iniciativa integra um investimento sustentado em todo o ciclo de engenharia do Rust na Microsoft: aquisição, ferramental, qualidade, segurança, integração com a plataforma, implantação em produção e suporte de longo prazo. O diferencial é conectar o rustc ao backend nativo e ao ecossistema de plataforma que a Microsoft construiu ao redor do Windows por décadas, criando uma base unificada para Rust e C++.