TypeScript Ultrapassa Python e JavaScript e Se Torna a Linguagem Mais Popular do GitHub
Olá HaWkers, aconteceu uma mudança histórica no mundo da programação que poucos previram: TypeScript ultrapassou tanto Python quanto JavaScript para se tornar a linguagem mais utilizada no GitHub. Esta é a primeira vez em mais de uma década que vemos uma mudança tão significativa no ranking de linguagens.
O relatório GitHub Octoverse 2025, publicado em outubro, revelou que TypeScript alcançou 2.636.006 contribuidores mensais, superando Python por aproximadamente 42.000 desenvolvedores. O que está por trás dessa ascensão meteórica?
Os Números Que Impressionam
O crescimento do TypeScript em 2025 foi extraordinário, quebrando recordes de adoção de linguagens de programação.
Estatísticas do GitHub Octoverse 2025:
- TypeScript: 2.636.006 contribuidores mensais (+66% YoY)
- Python: 2.594.000 contribuidores mensais (+48% YoY)
- JavaScript: 2.135.000 contribuidores mensais (+25% YoY)
Crescimento em números absolutos:
- TypeScript ganhou mais de 1 milhão de novos desenvolvedores em um ano
- Python adicionou 850.000 contribuidores
- JavaScript cresceu 427.000 contribuidores
O mais impressionante é que TypeScript alcançou essa posição partindo de uma base muito menor. Há apenas 5 anos, TypeScript estava em 7º lugar no ranking.
Por Que TypeScript Explodiu em 2025
A ascensão do TypeScript não é coincidência. Vários fatores convergiram para criar as condições perfeitas para esta explosão de adoção.
1. A Era da IA Favorece Tipagem Estática
O fator mais surpreendente por trás do crescimento do TypeScript é a inteligência artificial. Um estudo acadêmico de 2025 revelou um dado impressionante: 94% dos erros de compilação em código gerado por LLMs são falhas de type-check.
Isso significa que linguagens com tipagem estática, como TypeScript, tornam o código gerado por IA muito mais confiável. Quando o Copilot ou outro assistente de IA gera código TypeScript, o compilador imediatamente identifica erros de tipo, permitindo correções instantâneas.
// Código gerado por IA em JavaScript puro
// Erro só aparece em runtime
function calcularDesconto(preco, porcentagem) {
return preco - preco * porcentagem;
}
calcularDesconto('100', 0.1); // Bug silencioso: retorna "100" - NaN
// Mesmo código em TypeScript
// Erro detectado imediatamente pelo compilador
function calcularDesconto(preco: number, porcentagem: number): number {
return preco - preco * porcentagem;
}
calcularDesconto('100', 0.1); // ERRO: Argument of type 'string' is not assignable2. Frameworks Modernos Adotaram TypeScript Como Padrão
Praticamente todo framework moderno de frontend agora gera projetos em TypeScript por padrão.
Frameworks que usam TypeScript como default:
- Next.js 15
- Astro 3
- SvelteKit 2
- Qwik
- SolidStart
- Angular 18
- Remix
- Nuxt 3
Quando um desenvolvedor executa npx create-next-app@latest, o projeto já vem configurado com TypeScript. Isso eliminou a fricção de configuração que antes afastava muitos desenvolvedores.
3. GitHub Copilot e a Produtividade
O relatório Octoverse revelou outro dado fascinante: 80% dos novos desenvolvedores no GitHub usam o Copilot na primeira semana.
Isso cria um ciclo virtuoso para TypeScript:
// O ciclo TypeScript + Copilot
// 1. Desenvolvedor escreve tipo
interface Usuario {
id: number;
nome: string;
email: string;
dataCriacao: Date;
}
// 2. Copilot sugere código baseado nos tipos
function criarUsuario(dados: Omit<Usuario, 'id' | 'dataCriacao'>): Usuario {
return {
id: Math.random(),
dataCriacao: new Date(),
...dados,
};
}
// 3. Autocomplete mostra exatamente o que é esperado
const novoUsuario = criarUsuario({
nome: 'João', // Copilot sabe que precisa de nome e email
email: 'joao@email.com',
});A tipagem estática fornece contexto adicional para o Copilot, resultando em sugestões mais precisas e código mais confiável.
4. A Maturidade do Ecossistema
TypeScript atingiu um nível de maturidade que eliminou a maioria das objeções históricas.
Evolução do TypeScript:
| Versão | Recurso Importante |
|---|---|
| 4.0 | Variadic Tuple Types |
| 4.1 | Template Literal Types |
| 4.5 | Awaited Type |
| 5.0 | Decorators (ES Stage 3) |
| 5.2 | using Declarations |
| 5.3 | Import Attributes |
| 5.4 | Object.groupBy Types |
| 5.5 | Isolated Declarations |
O ecossistema de tipos também amadureceu. Bibliotecas como Zod, tRPC e Prisma demonstram o poder da tipagem end-to-end.
O Que Isso Significa Para Desenvolvedores
Se você ainda não está usando TypeScript, este é um momento crucial para repensar sua estratégia de carreira.
Mercado de Trabalho
O mercado já reflete essa mudança. Vagas que exigem TypeScript estão em alta:
Demanda por TypeScript em vagas (2025):
- Frontend: 78% das vagas mencionam TypeScript
- Backend Node.js: 65% exigem TypeScript
- Full Stack: 82% preferem candidatos com TypeScript
- Startups: 91% usam TypeScript como padrão
Migração de JavaScript para TypeScript
Se você trabalha com JavaScript, a migração pode ser gradual:
// Passo 1: Adicione TypeScript ao projeto
// npm install --save-dev typescript @types/node
// Passo 2: Crie tsconfig.json com configuração permissiva
{
"compilerOptions": {
"allowJs": true,
"checkJs": false,
"strict": false,
"noEmit": true,
"esModuleInterop": true
},
"include": ["src/**/*"]
}
// Passo 3: Renomeie arquivos .js para .ts gradualmente
// Comece pelos arquivos mais simples
// Passo 4: Adicione tipos progressivamente
// Antes (JavaScript)
function processarDados(dados) {
return dados.map(item => item.valor * 2);
}
// Depois (TypeScript básico)
interface Item {
valor: number;
}
function processarDados(dados: Item[]): number[] {
return dados.map(item => item.valor * 2);
}
Conceitos Essenciais de TypeScript Para Começar
Se você está iniciando com TypeScript, aqui estão os conceitos fundamentais que você precisa dominar.
Tipos Básicos
// Tipos primitivos
let nome: string = 'João';
let idade: number = 25;
let ativo: boolean = true;
let nulo: null = null;
let indefinido: undefined = undefined;
// Arrays
let numeros: number[] = [1, 2, 3];
let nomes: Array<string> = ['Ana', 'João'];
// Objetos
let usuario: { nome: string; idade: number } = {
nome: 'Maria',
idade: 30,
};
// Union Types
let id: string | number = 'abc123';
id = 123; // Também válidoInterfaces e Types
// Interface - ideal para objetos
interface Usuario {
id: number;
nome: string;
email: string;
avatar?: string; // Propriedade opcional
}
// Type alias - mais flexível
type Status = 'ativo' | 'inativo' | 'pendente';
type Callback = (erro: Error | null, resultado?: string) => void;
// Extending interfaces
interface Admin extends Usuario {
permissoes: string[];
nivel: number;
}
// Composição com types
type UsuarioComStatus = Usuario & { status: Status };Generics
// Função genérica
function primeiro<T>(array: T[]): T | undefined {
return array[0];
}
const primeiroNumero = primeiro([1, 2, 3]); // tipo: number
const primeiroNome = primeiro(['Ana', 'João']); // tipo: string
// Interface genérica
interface Resposta<T> {
dados: T;
sucesso: boolean;
mensagem: string;
}
// Uso com tipos específicos
const respostaUsuario: Resposta<Usuario> = {
dados: { id: 1, nome: 'João', email: 'joao@email.com' },
sucesso: true,
mensagem: 'Usuário encontrado',
};
O Futuro do TypeScript
Anders Hejlsberg, arquiteto-chefe do TypeScript, compartilhou sua visão sobre o futuro da linguagem em uma entrevista recente.
Tendências esperadas:
- Melhor inferência de tipos: O compilador ficará ainda mais inteligente
- Performance: Foco em compilação mais rápida
- Integração com IA: Tipos otimizados para geração de código
- Simplicidade: Redução da complexidade para casos comuns
TypeScript e o Futuro da Web
A combinação de TypeScript com tecnologias emergentes está criando novas possibilidades:
// TypeScript com Server Components (React 19+)
async function DadosUsuario({ id }: { id: string }) {
const usuario = await buscarUsuario(id);
return (
<div>
<h1>{usuario.nome}</h1>
<p>{usuario.email}</p>
</div>
);
}
// TypeScript com Edge Functions
export default async function handler(
request: Request,
context: { geo: { city: string; country: string } }
) {
const { city, country } = context.geo;
return Response.json({
mensagem: `Olá de ${city}, ${country}!`,
});
}Conclusão
A ascensão do TypeScript ao topo do ranking do GitHub não é apenas uma curiosidade estatística. É um sinal claro de para onde a indústria está se movendo. A combinação de tipagem estática com a era da IA criou condições perfeitas para o TypeScript prosperar.
O que você deve fazer agora:
- Se ainda usa JavaScript puro, comece a aprender TypeScript
- Configure seu projeto existente para aceitar arquivos .ts
- Migre gradualmente, arquivo por arquivo
- Aproveite o Copilot e outras ferramentas de IA com TypeScript
- Explore bibliotecas type-safe como Zod, tRPC e Prisma
Se você quer se aprofundar em JavaScript e TypeScript modernos, recomendo que dê uma olhada em outro artigo: ECMAScript 2025: As Novas Features do JavaScript onde você vai descobrir as novidades que chegaram na linguagem este ano.

