Mojo : le langage qui pourrait remplacer Python dans l'IA

Par:
francoistonic

lun, 17/08/2026 - 06:06

Python s'est imposé dans la data science, le big data et l'IA, notamment grâce à des outils tels que PyTorch et une communauté particulièrement active. Et si un autre langage venait le remplacer ? Mojo serait alors un candidat sérieux. Il se présente comme un langage système pour l'environnement IA : écrire du code rapide sur divers hardwares et sans dépendance à un constructeur / éditeur. 

Comme CUDA, Mojo est capable de faire de la programmation GPU, avec une syntaxe rappelant Python, un typage fort et il maîtrise la gestion de mémoire. Le langage fut initié en 2023 par Chris Lattner, créateur de LLVM. Un des avantages, comme Rust : une compilation native. 

Mojo sait manipuler les maths, les statistiques ou encore le machine learning. 

La version 1.0 est officiellement disponible depuis le 11 août. C'est une étape essentielle pour stabiliser la lib standard et le langage. L'équipe annonce déjà de potentielles casses de code dans les prochaines versions 1.x. Et le projet annonce que le langage sera prochainement mis en open source.

Le setup :

x64 ou ARM64

8 Go de RAM, attention : l'inférence exige plus de mémoire

GPU : NVIDIA, AMD, Apple Silicon

Compilateur C : cc, gcc, clang

Xcode ou Xcode Command Line sur macOS

Linux, macOS, Windows

Pour installer le langage : 

- extension disponible pour VS Code : marketplace ou Open VSX

- vous pouvez utiliser les Mojo Skills pour aller plus vite et utiliser des assistants de codage

La philosophie est : si vous connaissez Python, vous saurez rapidement coder en Mojo. On y trouve l'analyse des types, memory safe et les dernieres générations de compilateur. Il propose le classique main() : 

def main():
    print("Hello, world!")
Un hello world simple et rapide. Le mot-clé def permet de définir les fonctions, une fonction se déclare dans un struct appelée méthode. Les commantaires utilisent simplement #.
Pour les variables, on passe par le mot-clé : var. Vous pouvez déclarer ou non le type de la variable. "Les variables Mojo sont statiquement typées : autrement dit, Mojo définit le type d'une variable à la compilation, et ce type reste inchangé à l'exécution. Si vous ne spécifiez pas de type, Mojo utilise le type de la première valeur qui lui est assignée." explique la doc. 
Mojo permet d'importer les modules Python. Un exemple avec NumPy : 
from std.python import Python
def main() raises:
    var np = Python.import_module("numpy")
    var ar = np.arange(15).reshape(3, 5)
    print(ar)
    print(ar.shape)
On trouve aussi :
- les différents types dont Int et String
- list pour gérer une séquence de valeurs
- créer des types customs
- importer les librairies Python
Toujours sur Python, vous pouvez appeler du code Python depuis un code Mojo. Le langage s'appuie sur CPython pour le runtime sans nécessité de modifier le code.
La roadmap du langage montre tout le travail restant à accomplir. Par exemple : intégrer async, étendre les types, le pattern matching, commencer à supporter la programmation distribuée, étendre le support hardware, étendre la toolchain, etc. : https://mojolang.org/docs/roadmap/
Le langage s'intègre dans la plateforme Modular.