Mojo: el nuevo lenguaje basado en Python

Mojo es un lenguaje de programación basado en Python, pero más rápido y eficiente. Si bien Python es un lenguaje muy potente, puede quedarse corto en cuanto a despliegue y rendimiento en comparación con lenguajes compilados, en especial cuando se trata de aplicaciones de alto rendimiento.

En ocasiones (como en implementaciones de modelos de Inteligencia Artificial), puede ser necesario usar código externo de lenguajes más rápidos, para hacer frente a estos retos se creó Mojo, el cual se afirma puede ser hasta 100 veces más rápido que Python, en determinadas tareas.

Mojo fue creado por la empresa Modular, uno de sus creadores es Jeremy Howard, quien buscó solucionar las limitaciones de Python en aplicaciones de aprendizaje automático e Inteligencia Artificial. Se trata de un lenguaje parecido a Python pero que se compila, es decir, se convierte en un grupo de instrucciones que entienden las máquinas, antes de la ejecución en tiempo real, con el objetivo de ser más eficiente y rápido.

Sobre cuáles son las características de Mojo que lo distinguen, podemos destacar: 

  • Su capacidad de escribir código en paralelo para sacar provecho de los diferentes núcleos de procesadores modernos. 
  • También saca ventaja de aceleradores como las GPU de hardware para lograr una mejor ejecución del código.
  • Puede generar aplicaciones autónomas y portátiles, gracias a que el código se compila en código máquina, así no se necesita una versión de Python en el equipo. Por lo que Mojo se puede usar en cualquier plataforma con arquitectura de la CPU subyacente. 
  • También se destaca por emplear un compilador justo a tiempo, que convierte el código de Mojo en código máquina, que se ejecuta al ejecutar el código, así se optimiza para la plataforma de hardware en la que se usa.
  • Emplea LLVM, que es una técnica de optimización de rendimiento para ser más rápido.
  • Es un lenguaje creado para desarrollar aplicaciones de IA, por lo que incluye funciones y módulos de la biblioteca para desarrollar redes neuronales o para preparar datos.

Así, a grandes rasgos, Mojo mantiene un sintaxis simple como Python e integra la velocidad de otros lenguajes como C o C++.

Referencias

https://geekflare.com/es/mojo-for-ai-development/