- O motivo que o levou a começar a trabalhar no TypeScript em 2012 foi que o JavaScript não tinha escalabilidade suficiente para grandes bases de código com vários desenvolvedores; equipes que lidavam com milhões de linhas de código com tipagem frouxa precisavam de ferramentas para gerenciar a complexidade do sistema
- Em 2025, o TypeScript é a linguagem mais usada no GitHub, ultrapassando JavaScript e Python pela primeira vez, e só neste ano mais de um milhão de desenvolvedores começaram a contribuir com TypeScript (alta de 66% em relação ao ano anterior)
- O fator de sucesso do TypeScript é a compatibilidade entre sistema de tipos estático e geração de código por IA; quando a IA aprende com grandes volumes de dados de código e gera código, os tipos atuam como verificadores da verdade, aumentando a confiabilidade e a manutenibilidade
- O compilador foi reescrito em Go, alcançando melhoria de desempenho de 10x; metade veio da execução nativa e metade da concorrência com memória compartilhada, preservando perfeitamente o comportamento existente e mantendo a compatibilidade com a comunidade
- Na era da IA, a IDE está evoluindo de um ambiente para desenvolvedores para um ambiente também para agentes, e o sistema de tipos estruturais do TypeScript fornece a base para que agentes façam refatorações com segurança e raciocinem sobre codebases de forma determinística
Contexto e objetivo do surgimento do TypeScript
- Em 2012, o JavaScript já era o centro da web, mas não tinha escalabilidade adequada para desenvolvimento em grande escala
- Equipes implantavam milhões de linhas de código com tipagem frouxa, e quanto mais complexo o sistema ficava, mais difícil era raciocinar sobre ele
- O objetivo do TypeScript não era substituir o JavaScript, e sim adicionar tipos, ferramentas e recursos de refatoração para viabilizar o desenvolvimento em larga escala
- Anders pensava: "Se 25% da comunidade JavaScript se interessar, já será um sucesso", mas o nível atual superou em muito suas expectativas
- "É surpreendente ver tanta gente depender disso todos os dias. A equipe inteira está surpresa"
Principais características do TypeScript
- Um superconjunto baseado em tipos do JavaScript que é compilado para JavaScript comum
- Adiciona verificação estática de tipos, interfaces, genéricos e recursos modernos de linguagem
- As informações de tipo são removidas na compilação, então ele funciona em qualquer lugar onde o JavaScript roda
- Motivos pelos quais os desenvolvedores o usam:
- Detecção de erros de tipo antes do runtime
- Melhorias em autocompletar da IDE e refatoração
- Possibilidade de manter grandes codebases entre equipes
- Integração fluida com frameworks e ferramentas com suporte de IA
- Principais usos: frameworks de frontend (React, Angular, Vue), sistemas de backend (Node.js, Deno), SDKs, design systems e frameworks de agentes baseados em IA que exigem tipagem forte
O domínio de mercado do TypeScript
- Em 2025, quase todos os frameworks modernos de frontend (React, Next.js, Angular, SvelteKit) fazem scaffolding em TypeScript por padrão
- Resultado: codebases mais seguras, autocompletar melhor e menos sessões de depuração de
undefinedàs 3 da manhã
- Resultado: codebases mais seguras, autocompletar melhor e menos sessões de depuração de
- "A mágica foi fazer o TypeScript parecer JavaScript, mas com superpoderes"
Reescrita do compilador
- O TypeScript era originalmente self-hosted (escrito em TypeScript), preservando portabilidade e facilidade de experimentação
- Mas o desempenho acabou se tornando um problema
- "Foi doloroso abrir mão do self-hosting, mas percebemos que não dava mais para extrair desempenho dali"
- Depois de experimentar C# e outras linguagens, a escolha foi pelo Go
- Foi alcançada uma melhoria de desempenho de 10x: metade pela execução nativa, metade pela concorrência com memória compartilhada
- "Não dá para ignorar 10x"
- O novo compilador é uma cópia perfeita do compilador existente, inclusive com os mesmos bugs
- "A comunidade não precisa jogar nada fora"
- A filosofia de melhorar o desempenho preservando o comportamento é uma das razões pelas quais os desenvolvedores confiam no TypeScript
- Em vez de reescrever tudo do zero a cada poucos anos, trata-se de um sistema evolutivo que mantém compatibilidade
Filosofia sobre open source
- Anders vê o open source como um ecossistema que reflete a seleção natural
- "Open source foi um grande experimento. Ninguém encontrou de fato a forma certa de financiá-lo, mas aqui estamos. Está maior do que nunca e não vai desaparecer. É evolução capturada em código"
- Os dados do Octoverse sustentam isso: em 2025, desenvolvedores fizeram push de quase 1 bilhão de commits (alta de 25% em relação ao ano anterior)
- 1,12 bilhão foram enviados para repositórios públicos e open source
- O repositório do TypeScript é um arquivo vivo da evolução da linguagem, com 12 anos de issues, pull requests e notas de design
- "Há 12 anos de história capturados no GitHub. Tudo é pesquisável. É evolução que dá para
grepar"
- "Há 12 anos de história capturados no GitHub. Tudo é pesquisável. É evolução que dá para
Por que o TypeScript prospera na era da IA
- O dado mais impressionante do Octoverse 2025: a IA está mudando as preferências de linguagem
- Desenvolvedores estão migrando para linguagens tipadas que tornam o coding assistido por IA mais confiável e mais fácil de manter
- Explicação de Anders: "A capacidade da IA de escrever código em uma linguagem é proporcional ao quanto ela já viu dessa linguagem. A IA é uma grande máquina de reprodução com um pouco de extrapolação. A IA viu uma quantidade enorme de JavaScript, Python e TypeScript, por isso escreve bem nessas linguagens. Linguagens novas ficam realmente em desvantagem"
- A combinação entre familiaridade com os dados e o sistema de tipos estático do TypeScript o torna singularmente adequado para workflows orientados por IA
- "Se você pedir à IA para traduzir 500 mil linhas de código, ela pode alucinar. Mas se você pedir que ela gere um programa que faça essa tradução de forma determinística, pode obter um resultado confiável. Esse é exatamente o problema para o qual os tipos foram criados"
- Mensagem central: em um mundo onde humanos e máquinas escrevem código, tipos não são burocracia, e sim verificadores da verdade
Da IDE para os agentes
- A ascensão dos grandes modelos de linguagem está mudando o próprio significado de "ferramenta de desenvolvedor"
- A IDE está evoluindo para um ambiente também voltado a agentes, e não apenas a desenvolvedores
- "A IA começou como assistente. Agora ela executa tarefas e você supervisiona. A IA não precisa de uma IDE como nós. Ela precisa de serviços. Por isso o trabalho em Model Context Protocol é interessante"
- O relatório Octoverse descreve essa mudança como "a IA está remodelando escolhas, não apenas código"
- Linguagens tipadas como TypeScript fornecem a estrutura necessária para que agentes refatorem com segurança, respondam a consultas semânticas e raciocinem sobre codebases de forma determinística
- "O objetivo é colocar os workflows de IA dentro de limites com determinismo suficiente para que continuem úteis sem sair dos trilhos"
Uma linguagem que continua evoluindo
- Do Turbo Pascal ao C#, e agora ao TypeScript, o trabalho de Anders se estende por décadas
- O ponto mais impressionante é a consistência: construir linguagens que facilitem raciocinar sobre software complexo
- "Não há nada mais satisfatório do que trabalhar em algo que faz diferença. O TypeScript continua mudando, mas sempre volta ao mesmo ponto: ajudar desenvolvedores a expressar claramente sua intenção"
- Essa clareza pode explicar por que, em 2025, a cada segundo um novo desenvolvedor se cadastra no GitHub, e uma proporção crescente deles começa com TypeScript
- A história do TypeScript não é apenas sobre design de linguagem, mas sobre evolução
- O projeto, que começou como uma solução prática para a escalabilidade do JavaScript, tornou-se a base da forma como desenvolvedores — e agora também IAs — escrevem código juntos
1 comentários
Claro que também é um fator importante o fato de a IA se sair bem porque viu muito a linguagem.
Indo além, eu acho que coisas como tipos inline no TS são muito boas.
Pelas características da IA, no contexto de programação, não sei exatamente como a atenção foi treinada,
mas, de todo modo, não seria natural que ela respeitasse melhor tipos que estão mais próximos?
Se não for assim, internamente ela teria que usar alguma ferramenta para ler a definição de tipos e anexá-la mais uma vez ao contexto (
prompt).Nesse sentido, acho que isso pode ser uma vantagem.