Mojo (langage de programmation)

Un article de Wikipédia, l'encyclopédie libre.
Mojo (langage de programmation)
Date de première version Voir et modifier les données sur Wikidata
Influencé par Python
Rust
CVoir et modifier les données sur Wikidata
Site web www.modular.com/mojoVoir et modifier les données sur Wikidata
Extension de fichier mojo et 🔥Voir et modifier les données sur Wikidata

Mojo est un langage de programmation sorti en 2023 et visant à combiner la facilité d'utilisation du langage Python, avec les performances des langages de programmation de bas niveau[1],[2],[3].

Conçu pour être un sur-ensemble du langage de programmation Python[4], le langage de programmation Mojo est appelé par certains « Python++ »[5],[6],[7],[8],[9].

Mojo a été rendu disponible dans les navigateurs via les notebooks Jupyter en mai 2023 [3], localement sur Linux en septembre 2023 et sur macOS le 19 octobre 2023[10]. Une extension officielle de Visual Studio Code est également disponible[11].

Conception et développement d'origine[modifier | modifier le code]

En 2022, la société Modular a été fondée par Chris Lattner, l'architecte original du langage de programmation Swift, et Tim Davis, un leader d'opinion apprentissage automatique chez Google[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)[2],[3].

En septembre 2022, une première version de Mojo a été publiée en interne par Modular Inc.[13] avec des fonctionnalités de compilation avancées optimisées par MLIR, le framework de compilateur Multi-Level Intermediate Representation[3].

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[14].

Le moteur d'inférence modulaire qui l'accompagne comprend un compilateur et un moteur d'exécution[15].

Avancement du langage de programmation[modifier | modifier le code]

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.

Références[modifier | modifier le code]

  1. (en) « Mojo 🔥: Programming language for all of AI », sur modular.com (consulté le )
  2. a et b (en) « Modular Docs - Why Mojo🔥 », sur docs.modular.com (consulté le )
  3. a b c et d (en) Paul Krill, « Mojo language marries Python and MLIR for AI development », sur InfoWorld, (consulté le )
  4. Welcome to Mojo 🔥, Modular,‎ (lire en ligne)
  5. « 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. »
  6. (en) « Modular: Mojo🔥 - It’s finally here! », sur www.modular.com (consulté le )
  7. (en) Jeremy Howard, « Mojo may be the biggest programming language advance in decades », sur fast.ai, (consulté le )
  8. (en) « Like Python++ for AI developers - Stack Overflow », sur stackoverflow.blog, (consulté le )
  9. (en) « Mojo🔥SDK has been released for Linux », sur DEV Community,‎ (consulté le )
  10. « https://twitter.com/Modular_AI/status/1715024755093287042 », sur X (formerly Twitter) (consulté le )
  11. (en-US) « Mojo 🔥 - Visual Studio Marketplace », sur marketplace.visualstudio.com (consulté le )
  12. Claburn, « Modular finds its Mojo, a Python superset with C-level speed », The Register, (consulté le )
  13. (en) « Modular Docs - Mojo🔥 changelog », sur docs.modular.com (consulté le )
  14. (en) « Modular Docs - Mojo🔥 programming manual », docs.modular.com (consulté le )
  15. (en) « Modular Docs - Modular AI Engine », sur docs.modular.com (consulté le )