---
title: "Microsoft desiste do Rust e escolhe Go para recriar o compilador do TypeScript"
author: "Gabriela P. Torres"
date: "2026-02-28 08:09:00-03"
category: "Tecnologia & Desenvolvimento"
url: "http://desbugados.scale.press/portal/desbugados/post/2026/02/28/microsoft-desiste-do-rust-e-escolhe-go-para-recriar-o-compilador-do-typescript/md"
---

Se você acompanha o ecossistema de desenvolvimento, o anúncio soou como um erro de sintaxe: a Microsoft, criadora do C# e entusiasta do Rust, decidiu portar o compilador do TypeScript para **Go**. O objetivo do projeto Corsa é claro: resolver o 'bug' da lentidão em grandes bases de código, entregando uma performance até **10 vezes mais rápida**.

## O Bug: O limite do JavaScript

Até hoje, o compilador do TypeScript (tsc) era escrito em... TypeScript. Se isso parece confuso, imagine um carpinteiro que usa martelos de madeira para construir martelos de metal. Para a maioria dos projetos, funciona. Mas quando chegamos a milhões de linhas de código, como no VS Code, o custo de rodar tudo sobre o motor do JavaScript (V8) cobra seu preço em memória e tempo de CPU. A Microsoft percebeu que chegou ao teto do que o JavaScript pode oferecer para ferramentas de sistema.

## A Lógica Forense: Se precisamos de velocidade, por que não Rust ou C#?

A análise da equipe de engenharia, liderada por **Anders Hejlsberg** (o pai do C# e do TypeScript), seguiu um raciocínio lógico rigoroso que desmonta as expectativas óbvias:


- **SE escolhermos C#:** Então teríamos um problema de paradigma. O compilador atual não usa classes (OOP), mas sim funções e estruturas de dados. Migrar para C# exigiria uma reescrita completa para o modelo orientado a objetos, gerando um atrito desnecessário. Além disso, o suporte nativo multiplataforma (AOT) do C# ainda não tem a maturidade de uma década do Go.
- **SE escolhermos Rust:** Então enfrentaríamos a barreira da portabilidade. Rust é excelente para segurança de memória, mas o compilador do TypeScript depende de mutabilidade compartilhada e coleta de lixo (Garbage Collection). Tentar forçar o código atual no 'borrow checker' do Rust resultaria em um código complexo, cheio de blocos 'unsafe' ou em uma reescrita que levaria anos.
- **ENTÃO Go é a solução:** A linguagem do Google oferece o controle de baixo nível necessário para organizar dados na memória, possui um coletor de lixo eficiente e, crucialmente, sua estrutura de funções e *structs* é quase um espelho do código TypeScript atual.

## O Momento Desbugado: Resultados Reais

Não estamos falando de ganhos marginais. A Microsoft apresentou dados factuais sobre a redução no tempo de compilação em projetos conhecidos:


- **VS Code:** De 77,8 segundos para apenas 7,5 segundos.
- **TypeORM:** Uma aceleração impressionante de 13,5 vezes.
- **Consumo de Memória:** Redução imediata de 50%, permitindo que máquinas com menos recursos processem projetos gigantescos.

Como explicou **Ryan Cavanaugh**, líder de desenvolvimento, a decisão foi pragmática: portar para Go permite manter a compatibilidade semântica com o TypeScript atual, enquanto uma reescrita em Rust poderia criar um 'TypeScript 2' incompatível que ninguém usaria.

## A Caixa de Ferramentas: O que esperar agora?

Se você é desenvolvedor ou gestor de tecnologia, aqui está o cronograma para preparar sua infraestrutura:


- **TypeScript 6.0:** Será a última versão focada na base de código em JavaScript, preparando o terreno para as mudanças.
- **Meados de 2025:** Previsão de lançamento da primeira prévia do *tsc* nativo (em Go) para testes de verificação de tipos.
- **TypeScript 7.0:** Será a versão onde o motor Go se torna o padrão, prometendo o salto de 10x na produtividade.
- **A lição:** A escolha de uma linguagem de programação deve ser baseada na ergonomia para o problema específico e não apenas em tendências de mercado. Às vezes, o 'simples' Go é a ferramenta mais sofisticada para o trabalho.