TypeScript Supera a Python y JavaScript y Se Convierte en el Lenguaje Más Popular de GitHub
Hola HaWkers, ocurrió un cambio histórico en el mundo de la programación que pocos previeron: TypeScript superó tanto a Python cuanto a JavaScript para convertirse en el lenguaje más utilizado en GitHub. Esta es la primera vez en más de una década que vemos un cambio tan significativo en el ranking de lenguajes.
El informe GitHub Octoverse 2025, publicado en octubre, reveló que TypeScript alcanzó 2.636.006 contribuidores mensuales, superando a Python por aproximadamente 42.000 desarrolladores. ¿Qué está detrás de esta ascensión meteórica?
Los Números Que Impresionan
El crecimiento de TypeScript en 2025 fue extraordinario, rompiendo récords de adopción de lenguajes de programación.
Estadísticas del GitHub Octoverse 2025:
- TypeScript: 2.636.006 contribuidores mensuales (+66% YoY)
- Python: 2.594.000 contribuidores mensuales (+48% YoY)
- JavaScript: 2.135.000 contribuidores mensuales (+25% YoY)
Crecimiento en números absolutos:
- TypeScript ganó más de 1 millón de nuevos desarrolladores en un año
- Python adicionó 850.000 contribuidores
- JavaScript creció 427.000 contribuidores
Lo más impresionante es que TypeScript alcanzó esa posición partiendo de una base mucho menor. Hace apenas 5 años, TypeScript estaba en 7º lugar en el ranking.
Por Qué TypeScript Explotó en 2025
La ascensión de TypeScript no es coincidencia. Varios factores convergieron para crear las condiciones perfectas para esta explosión de adopción.
1. La Era de la IA Favorece Tipado Estático
El factor más sorprendente detrás del crecimiento de TypeScript es la inteligencia artificial. Un estudio académico de 2025 reveló un dato impresionante: 94% de los errores de compilación en código generado por LLMs son fallas de type-check.
Esto significa que lenguajes con tipado estático, como TypeScript, tornan el código generado por IA mucho más confiable. Cuando el Copilot u otro asistente de IA genera código TypeScript, el compilador inmediatamente identifica errores de tipo, permitiendo correcciones instantáneas.
// Código generado por IA en JavaScript puro
// Error solo aparece en runtime
function calcularDescuento(precio, porcentaje) {
return precio - precio * porcentaje;
}
calcularDescuento('100', 0.1); // Bug silencioso: retorna "100" - NaN
// Mismo código en TypeScript
// Error detectado inmediatamente por el compilador
function calcularDescuento(precio: number, porcentaje: number): number {
return precio - precio * porcentaje;
}
calcularDescuento('100', 0.1); // ERROR: Argument of type 'string' is not assignable2. Frameworks Modernos Adoptaron TypeScript Como Estándar
Prácticamente todo framework moderno de frontend ahora genera proyectos en TypeScript por defecto.
Frameworks que usan TypeScript como default:
- Next.js 15
- Astro 3
- SvelteKit 2
- Qwik
- SolidStart
- Angular 18
- Remix
- Nuxt 3
Cuando un desarrollador ejecuta npx create-next-app@latest, el proyecto ya viene configurado con TypeScript. Esto eliminó la fricción de configuración que antes alejaba muchos desarrolladores.
3. GitHub Copilot y la Productividad
El informe Octoverse reveló otro dato fascinante: 80% de los nuevos desarrolladores en GitHub usan Copilot en la primera semana.
Esto crea un ciclo virtuoso para TypeScript:
// El ciclo TypeScript + Copilot
// 1. Desarrollador escribe tipo
interface Usuario {
id: number;
nombre: string;
email: string;
fechaCreacion: Date;
}
// 2. Copilot sugiere código basado en los tipos
function crearUsuario(datos: Omit<Usuario, 'id' | 'fechaCreacion'>): Usuario {
return {
id: Math.random(),
fechaCreacion: new Date(),
...datos,
};
}
// 3. Autocomplete muestra exactamente lo que es esperado
const nuevoUsuario = crearUsuario({
nombre: 'Juan', // Copilot sabe que necesita nombre y email
email: 'juan@email.com',
});El tipado estático proporciona contexto adicional para el Copilot, resultando en sugerencias más precisas y código más confiable.
4. La Madurez del Ecosistema
TypeScript alcanzó un nivel de madurez que eliminó la mayoría de las objeciones históricas.
Evolución de TypeScript:
| Versión | 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 |
El ecosistema de tipos también maduró. Bibliotecas como Zod, tRPC y Prisma demuestran el poder del tipado end-to-end.
Lo Que Esto Significa Para Desarrolladores
Si todavía no estás usando TypeScript, este es un momento crucial para repensar tu estrategia de carrera.
Mercado de Trabajo
El mercado ya refleja ese cambio. Vacantes que exigen TypeScript están en alta:
Demanda por TypeScript en vacantes (2025):
- Frontend: 78% de las vacantes mencionan TypeScript
- Backend Node.js: 65% exigen TypeScript
- Full Stack: 82% prefieren candidatos con TypeScript
- Startups: 91% usan TypeScript como estándar
Migración de JavaScript para TypeScript
Si trabajas con JavaScript, la migración puede ser gradual:
// Paso 1: Adiciona TypeScript al proyecto
// npm install --save-dev typescript @types/node
// Paso 2: Crea tsconfig.json con configuración permisiva
{
"compilerOptions": {
"allowJs": true,
"checkJs": false,
"strict": false,
"noEmit": true,
"esModuleInterop": true
},
"include": ["src/**/*"]
}
// Paso 3: Renombra archivos .js para .ts gradualmente
// Comienza por los archivos más simples
// Paso 4: Adiciona tipos progresivamente
// Antes (JavaScript)
function procesarDatos(datos) {
return datos.map(item => item.valor * 2);
}
// Después (TypeScript básico)
interface Item {
valor: number;
}
function procesarDatos(datos: Item[]): number[] {
return datos.map(item => item.valor * 2);
}
Conceptos Esenciales de TypeScript Para Comenzar
Si estás iniciando con TypeScript, aquí están los conceptos fundamentales que necesitas dominar.
Tipos Básicos
// Tipos primitivos
let nombre: string = 'Juan';
let edad: number = 25;
let activo: boolean = true;
let nulo: null = null;
let indefinido: undefined = undefined;
// Arrays
let numeros: number[] = [1, 2, 3];
let nombres: Array<string> = ['Ana', 'Juan'];
// Objetos
let usuario: { nombre: string; edad: number } = {
nombre: 'María',
edad: 30,
};
// Union Types
let id: string | number = 'abc123';
id = 123; // También válidoInterfaces y Types
// Interface - ideal para objetos
interface Usuario {
id: number;
nombre: string;
email: string;
avatar?: string; // Propiedad opcional
}
// Type alias - más flexible
type Status = 'activo' | 'inactivo' | 'pendiente';
type Callback = (error: Error | null, resultado?: string) => void;
// Extending interfaces
interface Admin extends Usuario {
permisos: string[];
nivel: number;
}
// Composición con types
type UsuarioConStatus = Usuario & { status: Status };Generics
// Función genérica
function primero<T>(array: T[]): T | undefined {
return array[0];
}
const primerNumero = primero([1, 2, 3]); // tipo: number
const primerNombre = primero(['Ana', 'Juan']); // tipo: string
// Interface genérica
interface Respuesta<T> {
datos: T;
exito: boolean;
mensaje: string;
}
// Uso con tipos específicos
const respuestaUsuario: Respuesta<Usuario> = {
datos: { id: 1, nombre: 'Juan', email: 'juan@email.com' },
exito: true,
mensaje: 'Usuario encontrado',
};
El Futuro de TypeScript
Anders Hejlsberg, arquitecto-jefe de TypeScript, compartió su visión sobre el futuro del lenguaje en una entrevista reciente.
Tendencias esperadas:
- Mejor inferencia de tipos: El compilador quedará aún más inteligente
- Performance: Foco en compilación más rápida
- Integración con IA: Tipos optimizados para generación de código
- Simplicidad: Reducción de la complejidad para casos comunes
TypeScript y el Futuro de la Web
La combinación de TypeScript con tecnologías emergentes está creando nuevas posibilidades:
// TypeScript con Server Components (React 19+)
async function DatosUsuario({ id }: { id: string }) {
const usuario = await buscarUsuario(id);
return (
<div>
<h1>{usuario.nombre}</h1>
<p>{usuario.email}</p>
</div>
);
}
// TypeScript con Edge Functions
export default async function handler(
request: Request,
context: { geo: { city: string; country: string } }
) {
const { city, country } = context.geo;
return Response.json({
mensaje: `¡Hola de ${city}, ${country}!`,
});
}Conclusión
La ascensión de TypeScript al tope del ranking de GitHub no es apenas una curiosidad estadística. Es una señal clara de hacia dónde la industria se está moviendo. La combinación de tipado estático con la era de la IA creó condiciones perfectas para que TypeScript prospere.
Lo que debes hacer ahora:
- Si todavía usas JavaScript puro, comienza a aprender TypeScript
- Configura tu proyecto existente para aceptar archivos .ts
- Migra gradualmente, archivo por archivo
- Aprovecha Copilot y otras herramientas de IA con TypeScript
- Explora bibliotecas type-safe como Zod, tRPC y Prisma
Si quieres profundizar en JavaScript y TypeScript modernos, te recomiendo que des una mirada en otro artículo: ECMAScript 2025: Las Nuevas Features de JavaScript donde vas a descubrir las novedades que llegaron al lenguaje este año.

