Jeudi 27 août 2026

Aube.

Les nouvelles du progrès
Corroboré · 2 sources

Mojo 1.0 transforme du code proche de Python en langage plus strict

Langues de cet articleComparer à l’original

Traduit par IA, langue d’origine : allemand — voir le texte original. 3 langues disponibles, la vôtre s’ajoute en un clic.

Dans un programme Mojo, une différence apparemment minime suffit depuis la version 1.0 à révéler l’orientation du langage : def square(x): devient une fonction avec des indications de type obligatoires, tandis que var value = 42 devient un entier dont le type est fixé. Modular a publié la version stable 1.0 et transforme cette interface proche de Python en un outil beaucoup plus strictement vérifié pour le code d’IA et le code haute performance.

La rupture la plus visible concerne fn. Le mot-clé réservé aux fonctions soumises à des vérifications strictes a été supprimé ; ses règles s’appliquent désormais à chaque def. Sans raises explicite, une fonction ne peut déclencher aucune exception. Le code existant peut donc souvent être adapté en renommant fn, tandis que du code def plus ancien risque d’échouer face aux nouvelles exigences. Pour les fonctions anonymes courtes, une nouvelle syntaxe Lambda exige par ailleurs des parenthèses et des indications de type.

Le compilateur ne vérifie pas uniquement les types. Il détecte également lorsqu’une référence à un élément de liste devient invalide : si une liste dépasse l’espace mémoire qui lui était réservé, elle peut être déplacée vers un nouvel emplacement. Une référence vers l’ancien emplacement pointe alors dans le vide. Mojo arrête le code dès la compilation et indique à la fois l’utilisation ultérieure et l’endroit où la validité a été perdue. En C++, la même erreur peut provoquer un plantage ou une faille de sécurité.

Mojo s’attaque ainsi à un problème bien connu du développement de l’IA : Python reste pratique, mais les calculs proprement dits sont souvent pris en charge par des bibliothèques en C, C++ ou CUDA. Mojo associe une syntaxe familière au typage statique, à un modèle de propriété sans garbage collector et à un contrôle direct du matériel. Via MLIR, l’infrastructure sur laquelle repose le langage, il doit être possible de produire du code pour les CPU, les GPU et d’autres accélérateurs. Modular utilise déjà Mojo pour sa plateforme d’IA MAX et Modular Cloud. Depuis le 29 juillet 2026, l’entreprise appartient à Qualcomm ; les produits doivent rester indépendants.

Et concrètement, qu’est-ce que cela change ? Les développeurs bénéficient d’un retour plus précoce et n’ont plus à attendre les tests ou l’exécution pour découvrir certaines erreurs. En contrepartie, le prix à payer pour la proximité avec Python augmente : les types doivent être indiqués et le code existant peut nécessiter des adaptations. Mojo 1.0 doit surtout apporter davantage de stabilité après des années de changements fréquents, mais le langage n’est pas encore terminé. Le compilateur reste pour l’instant fermé, et les avantages annoncés proviennent de la conception et des déclarations de Modular ; les informations disponibles ne mentionnent aucune mesure indépendante des performances.

1.0Version stable du langage de programmation Mojo

Sources — lire les originaux(heure de Paris)

heise onlineDE
heise onlineDE
0000

À lire ensuite

Commentaires

Chargement du fil…

Connectez-vous pour écrire un commentaire. Se connecter

Mojo 1.0 transforme du code proche de Python en langage plus strict