35.000 veces más rápido: esa fue la cifra de rendimiento con la que el lenguaje de programación Mojo se dio a conocer en 2023, comparándose directamente con Python, el lenguaje más popular del mundo. Tres años después, el 11 de agosto de 2026, este lenguaje famoso por prometer ser “35.000 veces más rápido” ha lanzado oficialmente su versión 1.0. Para el público general, la noticia puede sonar a “otro coche nuevo en el mercado”. Sin embargo, esta es una excelente oportunidad para responder a dos preguntas fundamentales: por qué Python es lento, en qué se basa la velocidad de Mojo y cuánta verdad hay realmente tras esa espectacular cifra de 35.000x.
Imagen: Cabecera del anuncio de lanzamiento de Mojo 1.0. Fuente: modular.com
Por qué Python es lento: Como traducir cada frase sobre la marcha
Conviene aclarar un punto desde el principio: cuando se dice que “Python es lento”, se habla específicamente de rendimiento en cálculo puro, no de abrir aplicaciones. Para tareas como leer archivos del disco o realizar peticiones de red, Python no se diferencia apenas de otros lenguajes, ya que el cuello de botella está en el disco o en la conexión. La verdadera brecha aparece cuando se exige al ordenador realizar cómputos matemáticos masivos, como el procesamiento de imágenes o la ejecución de algoritmos. La lentitud de Python se debe a tres decisiones de diseño ampliamente conocidas.
En primer lugar, es un lenguaje “interpretado”. Imagine que un lenguaje de programación es una receta de cocina y el ordenador es el chef. Lenguajes compilados como C traducen toda la receta de una sola vez a instrucciones de máquina. Tras esa traducción inicial, el chef las ejecuta directamente cada vez. Python, en cambio, actúa como un intérprete que traduce sobre la marcha: cada línea de código debe convertirse en instrucciones de máquina en el preciso momento de ejecutarse, pagando un peaje de traducción continuo.
En segundo lugar, sus variables son de tipado dinámico (“sin etiqueta”). En Python, ni los números ni las cadenas de texto declaran de qué tipo son. Cada vez que el programa usa una variable, el entorno de ejecución debe comprobar primero qué contiene para decidir cómo procesarla. Es como un mueble con cajones sin etiquetar: cada vez que se busca algo, hay que abrir y comprobar el cajón. Los lenguajes estáticamente tipados, en cambio, tienen cajones claramente etiquetados que permiten optimizar las rutas de acceso con antelación.
En tercer lugar, cuenta con el GIL (Global Interpreter Lock), un cuello de botella de carril único. En esencia, el código Python puro solo permite que un hilo ejecute instrucciones en un instante dado. Aunque la máquina disponga de 32 núcleos de CPU, el código Python puro se procesa de uno en uno, como una cocina con decenas de fogones donde solo hay un cocinero atendiendo los fuegos por turno.
La suma de estos tres factores hace que Python sea excesivamente lento en tareas de cálculo intensivo. Esto explica por qué casi todas las librerías científicas y de inteligencia artificial en Python —como NumPy o PyTorch— dependen en última instancia de código escrito en C/C++. Python actúa como el director de orquesta que delega el trabajo duro en C. Dicho de otro modo, la percepción de que “Python es lento” es el peaje asumido a cambio de su mayor virtud: priorizar la sencillez y comodidad del desarrollador por encima de la velocidad de ejecución. Ese compromiso impulsó el éxito de Python durante treinta años, pero sigue siendo una limitación insoslayable.
Por qué Mojo es rápido: Cambiar a una vía completamente nueva
Mojo fue presentado por la empresa Modular en mayo de 2023. Su cofundador, Chris Lattner, es el creador del lenguaje Swift de Apple y del proyecto de compiladores LLVM, por lo que el desarrollo de compiladores es su terreno natural. La velocidad de Mojo proviene de desmantelar sistemáticamente las tres causas de lentitud de Python.
Mojo es un lenguaje compilado. El programa entero se traduce a código máquina nativo antes de ejecutarse, por lo que el coste de traducción se paga una sola vez. Más allá de la compilación, Mojo utiliza MLIR (Multi-Level Intermediate Representation) como base de su compilador. MLIR aporta un segundo nivel de optimización: a partir del mismo código fuente, el compilador genera instrucciones de máquina adaptadas a diferentes arquitecturas de hardware, ya sean CPU convencionales, GPU o aceleradores dedicados de IA. Si la compilación tradicional equivalía a escribir una receta distinta para cada tipo de cocina, MLIR permite que una sola receta se adapte automáticamente a cualquier cocina.
Asimismo, Mojo introduce tipado estático y una gestión de memoria inspirada en Rust. Dado que el compilador conoce los tipos de datos antes de la ejecución, puede realizar amplias optimizaciones previas y detectar errores comunes de memoria en tiempo de compilación. Para los desarrolladores, la versión 1.0 marca un hito clave: la estabilidad sintáctica. El código escrito hoy no se romperá mañana, lo que permite abordar proyectos a largo plazo, una garantía destacada en el anuncio de lanzamiento.
También existe un factor humano determinante: la sintaxis de Mojo es muy cercana a Python, por lo que los desarrolladores de Python no tienen que aprender un lenguaje totalmente ajeno. No obstante, la hoja de ruta oficial ha ido matizando su mensaje: aunque al principio se presentó como un “superconjunto completo de Python”, la documentación oficial señala ahora que ser un superconjunto completo “no está garantizado”. En la práctica, Mojo se asemeja más a un lenguaje nuevo con sintaxis parecida a Python que a un simple “Python más rápido”.
Desde el punto de vista conceptual, Mojo logra su velocidad cambiando de vía por completo: rediseña el sistema de compilación, los tipos y la integración con el hardware. El ferrocarril de alta velocidad responde a esa misma lógica: al cambiar la infraestructura de las vías, la velocidad pasa a otra dimensión. El terreno principal de Mojo es la programación de chips de IA. Actualmente, programar para GPU requiere usar CUDA, el lenguaje propietario de NVIDIA, lo que ata a los desarrolladores a un único fabricante. Mojo aspira a ofrecer una alternativa neutra donde un mismo código funcione en cualquier procesador.
El 35.000x es real, pero hay que mirar la pista en la que corre
Llegamos ahora a la pregunta clave: ¿cómo se midió ese incremento de 35.000 veces?
La cifra procede de la demostración oficial en la presentación de Mojo en 2023, basada en el cálculo del conjunto de Mandelbrot, un bucle matemático intensivo.
Imagen: Fractal del conjunto de Mandelbrot, el tipo de cálculo matemático intensivo usado en el benchmark de 35.000x. Fuente: Wikimedia Commons
La referencia utilizada para comparar fue código de Python puro mediante bucles anidados escritos a mano, precisamente el escenario donde Python obtiene el peor rendimiento debido a la acumulación de sobrecarga del intérprete, la verificación dinámica de tipos y la ejecución en un solo hilo. Sin embargo, cuando Python utiliza librerías optimizadas en C como NumPy, la distancia se reduce de 35.000x a unas 12 veces. Una diferencia de 12x sigue siendo considerable, pero se sitúa en una magnitud completamente distinta. Esta matización ya fue señalada por comunidades técnicas como Slashdot tras el anuncio inicial.
¿Qué significa esto? La cifra de 35.000x es real, pero funciona más como un trofeo de exhibición en una prueba específica que como una promesa universal para cualquier programa. En la gran mayoría de las aplicaciones habituales, los cuellos de botella se encuentran en la lectura de disco, la latencia de red o las consultas a bases de datos, donde cambiar de lenguaje ofrece mejoras marginales. Entre los 108 comentarios en Hacker News sobre la versión 1.0, muchos desarrolladores analizaron el anuncio de forma crítica: se señaló que el lanzamiento no incluyó comparativas directas de rendimiento frente a PyTorch, comentando que “esa ausencia dice mucho por sí sola”; otros ironizaron sobre la etiqueta 1.0, bromeando con que se trata de “anunciar que han decidido llamarlo 1.0 a partir de ahora”.
La verdadera batalla de un nuevo lenguaje: Ecosistema, código abierto y 3.900 millones de dólares
La velocidad de ejecución es solo la entrada al juego. Python ha construido durante treinta años un ecosistema masivo con cientos de miles de librerías para procesamiento de imágenes, análisis de datos, desarrollo web e inteligencia artificial. Por muy rápido que sea un nuevo lenguaje, trasladar todo ese ecosistema exige un esfuerzo colosal. Ese es el foso defensivo más profundo de Python y el obstáculo más complejo para Mojo.
Los datos de la comunidad de Mojo muestran una evolución positiva: tras la liberación de su librería estándar, cerca de 200 colaboradores han aportado más de 1.100 cambios modificando más de 200.000 líneas de código. Sin embargo, el compilador principal sigue siendo de código cerrado, aunque la empresa ha prometido abrirlo a lo largo de 2026. Este punto concentra las mayores dudas entre los desarrolladores, donde se repiten opiniones como “mientras el compilador no sea open source, no lo adoptaré”. También surgieron críticas a la imagen principal del anuncio por parecer “demasiado generada por IA y de estilo comercial”. Las miradas están puestas en la conferencia ModCon que Modular celebrará el 18 de agosto en San Francisco, donde se esperan novedades sobre el código abierto.
Además, hay un hecho relevante en el ámbito empresarial: el 29 de julio de 2026, el gigante de los chips Qualcomm completó la adquisición de Modular por 3.900 millones de dólares, incorporando a su fundador Chris Lattner al equipo directivo de Qualcomm. Algunos analistas interpretaron la operación como una compra de talento (“acqui-hire”) donde los productos podrían pasar a segundo plano, mientras que otros ven en la cifra una clara validación de mercado. Para el público general, la operación deja un mensaje claro: lograr que un único código funcione en cualquier chip posee un valor comercial extraordinario.
Reflexión final
Es pronto para emitir un juicio definitivo sobre Mojo: la versión 1.0 representa un hito importante, pero es solo una etapa en una carrera de fondo. Las transiciones entre lenguajes no transforman el software de la noche a la mañana. Python no desaparecerá por la llegada de un nuevo competidor, ya que constituye los cimientos de la ciencia de datos y la IA actual. El éxito de Mojo dependerá de la evolución de su ecosistema en los próximos dos años y del cumplimiento de sus compromisos de código abierto.
Para los lectores no programadores, la lección principal radica en mantener el sentido crítico: cuando se presentan cifras impactantes como “35.000 veces más rápido”, conviene preguntarse siempre bajo qué condiciones concretas, en comparación con qué alternativa y midiendo qué tipo de tarea. Las condiciones de un benchmark suelen ser mucho más reveladoras que el titular principal.
Enlaces de referencia:
- Blog oficial de Modular: Modular 26.5: Mojo 1.0 is here!
- Debate en Hacker News: Mojo 1.0 (item id 49261128)
- Entrada en Wikipedia: Mojo (programming language)
- Cobertura inicial en Slashdot: Debate de la comunidad sobre Mojo y la cifra de 35.000x
- Informes sobre la adquisición de Modular por Qualcomm por 3.900M$