Mojo
En 2022, Chris Lattner quitte Apple après avoir conçu Swift et fonde Modular avec Tim Davis, ancien de Google. Ils veulent créer un langage qui réconcilie enfin Python et la performance. Une ambition banale tant les tentatives ont été nombreuses, mais leur approche tranche avec les solutions précédentes.
L'intelligence artificielle explose littéralement. Les GPU tournent à plein régime, les TPU (Tensor Processing Units) se multiplient, et pourtant les développeurs restent coincés entre deux mondes : d'un côté Python, lisible mais d'une lenteur parfois désespérante, de l'autre C++ ou Rust, rapides mais d'une complexité qui décourage. Cette fracture coûte cher. Les équipes de recherche écrivent leurs prototypes en Python, puis les équipes de production les réécrivent entièrement dans un autre langage. Un gaspillage de temps et d'énergie considérable.
Mojo naît de cette frustration. Mais contrairement aux tentatives passées, Lattner et Davis ne cherchent pas à remplacer Python. Ils veulent l'étendre, le sublimer. Le pari est audacieux : conserver la syntaxe familière de Python tout en intégrant des concepts avancés empruntés à Rust pour la gestion mémoire et à LLVM pour la compilation.
Le langage incorpore dès sa conception des outils d'optimisation sophistiqués. L'optimisation du tuilage, par exemple, réorganise automatiquement les calculs pour exploiter au mieux les caches processeur. Le module d'accord automatique ajuste les paramètres d'exécution selon le matériel disponible. Ces innovations techniques restent transparentes pour le programmeur qui écrit du code d'apparence simple.
La compatibilité avec Python est l'atout maître. NumPy ou Matplotlib sont des bibliothèques qui fonctionnent sans modification. Cette interopérabilité évite de partir de zéro, écueil classique des nouveaux langages. Un développeur peut migrer progressivement, remplaçant seulement les parties critiques par du Mojo optimisé.
Les chiffres parlent d'eux-mêmes. Certains benchmarks montrent des accélérations de 68 000 fois par rapport à Python standard. Ces performances spectaculaires s'expliquent par l'utilisation de MLIR, une technologie développée par Google pour optimiser le code sur différents types de processeurs. Là où Python interprète chaque instruction, Mojo compile et optimise l'ensemble.
La société Modular accompagne le langage d'un écosystème complet. Basalt pour l'apprentissage automatique, Endia pour le calcul scientifique, Lightbug HTTP pour le web. Ces bibliothèques, entièrement écrites en Mojo, démontrent les capacités du langage tout en servant d'exemples aux développeurs.
Le 2 mai 2023, le Mojo Playground ouvre ses portes. Cette plateforme en ligne attire immédiatement l'attention : 120 000 inscriptions en quelques mois, une communauté de 19 000 membres sur Discord et GitHub. L'enthousiasme surprend les créateurs, pendant que les développeurs partagent leurs expérimentations, créent des bibliothèques, proposent des améliorations.
L'architecture technique de Mojo rompt avec certaines conventions Python. Le typage statique inféré améliore les performances sans alourdir l'écriture. La sémantique par valeur, où les fonctions reçoivent des copies plutôt que des références, évite de nombreux bugs classiques. Ces choix de conception reflètent l'expérience de Lattner avec Swift et sa compréhension des pièges du développement moderne.
L'outillage suit le développement du langage. Une extension Visual Studio Code, un noyau Jupyter pour les notebooks, des fonctionnalités de débogage avancées. Cette suite logicielle facilite l'adoption par les équipes déjà familières avec l'écosystème Python.
L'impact sur l'industrie commence à se dessiner. Des équipes de recherche utilisent Mojo pour leurs projets d'intelligence artificielle, éliminant la rupture entre prototype et production. Les algorithmes optimisés réduisent la consommation énergétique des centres de données, un enjeu devenu critique avec l'explosion des modèles de langage.
La communauté produit ses premiers projets remarquables. Maxim Zaks implémente des structures de données sophistiquées, d'autres développent des bibliothèques pour le calcul matriciel. Cette créativité témoigne d'une appropriation rapide du langage par ses utilisateurs.
Modular poursuit le développement avec ambition. L'objectif affiché : faire de Mojo un sur-ensemble complet de Python. L'ouverture progressive du code source devrait accélérer cette évolution. Le support de macOS et Windows s'étend, élargissant la base d'utilisateurs potentiels.
En 2024, Mojo continue sa croissance. Les performances s'améliorent, de nouvelles fonctionnalités apparaissent, l'écosystème s'enrichit. La démocratisation de l'intelligence artificielle et l'explosion des besoins en calcul haute performance créent un terrain favorable pour ce type d'innovation.
Les solutions émergent souvent de la combinaison créative d'approches existantes plutôt que de révolutions conceptuelles. Lattner et Davis ont su identifier une frustration largement partagée et proposer une réponse pragmatique. Leur réussite tient autant à la qualité technique qu'à la compréhension fine des besoins des développeurs modernes.