Mojo (langage de programmation)

Mojo (langage de programmation)
Date de première version
Dernière version 26.2 ()[1]
Version en développement 1.0.0b1 ()[2]
Influencé par Python
Rust
C
Zig
Licence Apache License v2.0 with LLVM Exceptions (d) et gratuiciel[3]
Site web www.modular.com/mojo
Extension de fichier mojo et 🔥

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[4],[5],[6].

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

Mojo a été rendu disponible dans les navigateurs via les notebooks Jupyter en [6], localement sur Linux en et sur macOS le [13]. Une extension officielle de Visual Studio Code est également disponible[14].

Conception et développement d'origine

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

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)[5],[6].

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

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

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

Un des buts du langage est de permettre la compatibilité avec Python et de reprendre car Python est déjà très performant. Cependant, les développeurs souhaitent quand même grandement l'améliorer[19].

Avancement du langage de programmation

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

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