L'article peut contenir des analyses et interprétations inexactes ou inédites de sources primaires. Pour améliorer la vérifiabilité de l'article ainsi que son intérêt encyclopédique, il est nécessaire, quand des sources primaires sont citées, de les associer à des analyses faites par des sources secondaires.
Conçu pour être un sur-ensemble du langage de programmation Python[5], le langage de programmation Mojo est appelé par certains « Python++ »[6],[7],[8],[9],[10].
Mojo a été rendu disponible dans les navigateurs via les notebooks Jupyter en mai 2023 [4], localement sur Linux en septembre 2023 et sur macOS le 19 octobre 2023[11]. Une extension officielle de Visual Studio Code est également disponible[12].
Mojo est développé pour le framework de compilation MLIR, qui fournit un cadre de programmation unifié pour le développement de logiciels, notamment dans le domaine de l'intelligence artificielle (IA)[3],[4].
En septembre 2022, une première version de Mojo a été publiée en interne par Modular Inc.[14] avec des fonctionnalités de compilation avancées optimisées par MLIR, le framework de compilateur Multi-Level Intermediate Representation[4].
Son système de types est hybride (quelque chose entre statique et dynamique), étant donné que le développeur peut opter pour un typage statique hautes performances en choisissant le mot-clé (entre fn et def) pour définir sa fonction[15].
Un des buts du langage est de permettre la compatibilité avec Python et de reprendre car Python est déjà très performant. Cependant, les développeurs souhaitent quand même grandement l'améliorer[17].
Avancement du langage de programmation
Le langage de programmation Mojo vise à être entièrement compatible avec l'écosystème Project Jupyter. Il prévoit d'ajouter un vérificateur d'emprunt, une influence de Rust, et d'ajouter une intégration pour importer de manière transparente des modules Clang C/C++ et générer de manière transparente une interface de fonction étrangère entre C/C++ et Mojo. Il peut appeler du code Python 3.x existant en réutilisant l'environnement d'exécution CPython.
↑« Mojo🔥 programming manual », docs.modular.com, Modular, (consulté le ) : « Mojo is a programming language that is as easy to use as Python but with the performance of C++ and Rust. Furthermore, Mojo provides the ability to leverage the entire Python library ecosystem. »