Trois ans après son lancement public, le langage de programmation Mojo de Modular est désormais disponible en version 1.0. Ce langage, inspiré de Python, est désormais prêt à l’emploi pour la programmation des CPU, GPU et accélérateurs matériels. Intégrée à Modular 26.5, cette version stabilise la syntaxe de base du langage, tout en ajoutant des diagnostics de sécurité mémoire renforcés et un serveur de langage nettement amélioré. Les « Mojo AI Skills » pour la programmation GPU et le portage de code sont également prêts pour la production. Modular précise que la prise en charge de la programmation asynchrone, de la correspondance de motifs et des unions sera ajoutée prochainement. L'entreprise reste par ailleurs déterminée à mettre le compilateur et la chaîne d'outils Mojo en open source en 2026.Mojo est un langage de programmation propriétaire destiné à Linux et macOS. Il s’agit d’un langage de programmation système dont la sémantique s’inspire de Rust, notamment en ce qui concerne le typage statique et le vérificateur d’emprunt, mais qui (à l’instar de Nim ou de Julia) utilise une syntaxe conçue pour rappeler celle de Python. À l’origine, il était prévu qu’il constitue un sur-ensemble de Python, mais cet objectif a été soit abandonné, soit reporté sine die en mars 2026. En mai 2026, Modular a lancé un site web dédié au langage.
Depuis le lancement public de Mojo en mai 2023, plus de 120 000 développeurs se sont inscrits sur le Mojo Playground et plus de 19 000 d'entre eux ont participé activement aux discussions sur le langage sur Discord et GitHub. Modular a ensuite franchi une étape importante dans l'évolution du langage. En septembre 2023, Modular a rendu Mojo disponible en téléchargement local pour les systèmes Linux, avant d’annoncer l’arrivée sur macOS et Windows dans les versions ultérieures.
Le 11 août dernier, Modular a annoncé la sortie de Mojo 1.0 à l'occasion du lancement de Modular 26.5. Il s'agit de la première version stable de son langage de programmation, inspiré de Python, depuis sa mise à disposition du public en 2023.
« Aujourd’hui, le langage Mojo atteint officiellement la version 1.0 : une étape importante vers laquelle il tendait depuis sa première version en 2023. Mojo est devenu un langage polyvalent, soutenu par une communauté de développeurs dynamique qui crée ses propres bibliothèques, outils et applications à partir de ce langage », a déclaré Modular dans un communiqué. « Avec Mojo 1.0, les développeurs peuvent désormais s’engager sur le long terme en s’appuyant sur une base de langage stable et prête pour la production. »
Mojo allie une syntaxe de type Python aux performances et aux capacités de bas niveau requises pour les charges de travail exigeantes. Il est particulièrement axé sur la programmation haute performance des processeurs (CPU) et des cartes graphiques (GPU), ainsi que d'autres accélérateurs matériels.
Modular a rapidement fait évoluer le langage Mojo grâce à une utilisation interne intensive. Mais l'entreprise indique que ce rythme de progression a eu un revers : « les changements fréquents ont rendu difficile pour la communauté la maintenance de projets à long terme ».
Selon Modular, la version 1.0 du langage résout ce problème en offrant une base stable sur laquelle les développeurs peuvent s’appuyer. « Nous prenons cet engagement aujourd’hui car Mojo est prêt : ce n’est plus seulement un langage que nous développons ; c’est un langage sur lequel nous comptons chaque jour en production, en tant que fondement de notre infrastructure commerciale, MAX et Modular Cloud », a déclaré Modular.
Améliorations apportées au langage de programmation Mojo
Le chemin vers la version 1.0 a donné lieu à de nombreux changements dans le langage. Depuis que Modular mis la bibliothèque standard en open source, près de 200 contributeurs ont intégré plus de 1 100 pull requests, modifiant plus de 200 000 lignes de code, et plus d’un millier d’autres ont signalé des problèmes qui ont façonné le langage.
L'entreprise indique que la version 26.5 est en grande partie consacrée à l'achèvement des travaux nécessaires à la sortie de Mojo 1.0 : « un fil conducteur qui a marqué nos dernières versions, au cours desquelles nous nous sommes efforcés de rendre le langage plus cohérent, plus prévisible et plus accessible ».
Les variables sont désormais systématiquement déclarées à l'aide de var, les closures ont été unifiées, Mojo utilise désormais un type Pointer unique, et plusieurs éléments du langage ont été renommés afin d'harmoniser la terminologie.
Mojo 1.0 introduit également une syntaxe « lambda » de type Python pour les closures inline. Le serveur de langage a fait l'objet d'un travail considérable, améliorant ainsi l'expérience d'édition dans VS Code et d'autres éditeurs prenant en charge le protocole Language Server Protocol.
Les diagnostics relatifs à la sécurité de la mémoire ont également été améliorés. Mojo est désormais capable de détecter les problèmes liés aux références invalidées, notamment lorsque des opérations telles que l'ajout d'éléments à une liste (List.append) invalident des références existantes. La bibliothèque standard utilise également les clauses where de manière plus cohérente, ce qui permet d'inclure des messages descriptifs facilitant la compréhension des échecs.
Cette version marque par ailleurs que les « Mojo AI Skills » sont prêtes pour la version 1.0. Celles-ci couvrent des tâches telles que la création de nouveaux projets, la programmation sur GPU et le portage de code depuis d'autres langages de programmation.
Quelle est la prochaine étape pour Mojo ?
Mojo est déjà devenu un élément central de la pile technologique propre à Modular, utilisée pour les noyaux haute performance qui sous-tendent la plateforme MAX de l’entreprise, tandis que les développeurs peuvent utiliser ce langage pour écrire des noyaux GPU personnalisés destinés au matériel de fournisseurs tels que NVIDIA, AMD et Apple.
Modular indique que le développement futur de Mojo visera à en faire un langage de programmation système polyvalent plus complet. Parmi les ajouts prévus figurent un modèle de programmation asynchrone robuste, la correspondance de motifs, les unions et d’autres fonctionnalités du langage qui n’avaient pas été intégrées dans la version 1.0.
Un autre volet important de la feuille de route concerne l'open source. Bien que certaines parties de l'écosystème Mojo soient déjà disponibles en open source, Modular indique qu'elle a l'intention d'ouvrir progressivement davantage le langage et reste déterminée à mettre en open source le compilateur et la chaîne d'outils Mojo en 2026.
Pour commencer à utiliser la version 26.5 de Modular et Mojo 1.0, installez-les ou effectuez une mise à jour pour être opérationnel en quelques minutes :
| Code : | Sélectionner tout |
1 2 | uv pip install --upgrade mojo uv pip install max[all] |
« Mojo 1.0 ne marque pas la fin de l’évolution du langage, mais constitue une étape importante dans un parcours plus long », a déclaré Modular. « Au cours de la période couverte par la version 1.x, les modifications devraient être principalement additives, afin de donner aux développeurs l’assurance que le langage ne changera pas sans cesse sous leurs pieds. Des modifications rompant la compatibilité pourront toujours être apportées, mais elles seront gérées avec soin, conformément aux normes régissant l’évolution au fil du temps des langages matures (par exemple, le C++). »
Sources : Modular, Annonce de Mojo 1.0
Et vous ?
Quel est votre avis sur le sujet ?
Trouvez-vous cette initiative de Modular crédible ou pertinente ?
Avez-vous déjà utilisé ce langage pour votre usage ou le développement d'applications, et si oui, qu'en pensez-vous ?Voir aussi :
Mojo : un nouveau langage de programmation pour les développeurs d'IA qui tente de combiner la syntaxe de Python avec la portabilité et la rapidité de C, il serait 35 000 fois plus rapide que Python
Le langage de programmation Mojo est disponible en téléchargement local pour les systèmes Linux, et arrivera sur Mac et Windows dans les prochaines versions
Vous avez lu gratuitement 2 888 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
