Mojo (langage de programmation)

Un article de Wikipédia, l'encyclopédie libre.

Mojo est un langage de programmation développé pour le framework de compilateur MLIR qui fournit un cadre de programmation unifié pour le développement de logiciels, notamment dans le domaine de l'intelligence artificielle (IA)[1],[2],[3],[4].

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

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

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

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

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

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

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

« Mojo est un nouveau langage de programmation, basé sur Python, qui corrige les problèmes de performance et de déploiement de Python[réf. nécessaire]. »

— Jeremy Howard[Qui ?]

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