Depuis le lancement du langage de programmation Mojo le 2 mai dernier, plus de 120 000 développeurs se sont inscrits pour utiliser le Mojo Playground et plus de 19 000 développeurs discutent activement de Mojo sur Discord et GitHub. Aujourd’hui, Modular annonce la prochaine étape importante dans l’évolution de Mojo : Mojo est maintenant disponible en téléchargement local, en commençant par les systèmes Linux, et en ajoutant Mac et Windows dans les prochaines versions.
Alors que le Mojo Playground fournit une introduction facile au langage, la chaîne d’outils locale Mojo permet aux développeurs d’accomplir bien plus. Les outils de développement locaux permettent d’accéder à toute la puissance de Mojo, y compris un ensemble complet de fonctions de compilateur et d’outils IDE qui facilitent la construction et l’itération des applications Mojo.
Voici un tour d’horizon de ce que contient le SDK Mojo. Mais d’abord, un petit rappel de ce qu’est Mojo et comment il peut vous être utile.
Mojo : un langage “Python++” haute performance pour la programmation
Mojo est un nouveau langage de programmation pour les développeurs d’IA qui deviendra un sur-ensemble de Python au fil du temps. Il permet d’ores et déjà de s’intégrer de manière transparente à un code Python arbitraire et dispose d’un modèle de programmation évolutif pour cibler les systèmes critiques en termes de performances, notamment les accélérateurs (par exemple les GPU) qui sont omniprésents dans le domaine de l’IA.
Mojo s’adapte à votre situation actuelle et vous permet d’adopter progressivement de nouvelles fonctionnalités pour obtenir des performances élevées là où vous en avez besoin. Mojo combine le meilleur des langages dynamiques et statiques, et peut atteindre jusqu’à 68 000 fois les performances de Python aujourd’hui.
Voici quelques avantages importants que Mojo offre aux utilisateurs :
- Écrire tout dans un seul langage : Mojo s’adresse aux développeurs d’IA là où ils se trouvent, en combinant la convivialité de Python et les fonctionnalités de programmation de systèmes qui obligent les développeurs à recourir au C, au C++ ou à CUDA. Vos équipes de recherche et de déploiement peuvent désormais travailler dans une base de code commune, rationalisant ainsi le flux de travail de la recherche à la production.
- Débloquez les performances de Python : Python est omniprésent, mais n’est pas l’outil adéquat pour les tâches nécessitant des performances élevées ou du matériel exotique. Mojo permet des performances élevées sur les CPU, ainsi que la prise en charge d’accélérateurs exotiques tels que les GPU et les ASIC, offrant des performances comparables à celles de C++ et de CUDA.
- Accédez à l’ensemble de l’écosystème Python : Mojo offre une interopérabilité totale avec l’écosystème Python, ce qui permet d’utiliser les bibliothèques Python tout en profitant des fonctionnalités et des performances de Mojo. Par exemple, vous pouvez mélanger NumPy et Matplotlib avec votre code Mojo.
- Améliorez vos charges de travail d’IA : Mojo s’intègre étroitement au moteur d’IA modulaire, ce qui vous permet d’étendre facilement vos charges de travail d’IA avec des opérations personnalisées, y compris des opérations de prétraitement, de post-traitement et des algorithmes mathématiques de haute performance. Vous pouvez intégrer la fusion de noyaux, la réécriture de graphes, les fonctions de forme, etc.
Avec de simples modifications du code Python existant, vous pouvez obtenir des accélérations significatives (>68 000x) avec Mojo pour les charges de travail liées au calcul.
Mojo est maintenant disponible en téléchargement sur votre ordinateur, mais Mojo est bien plus qu’un compilateur.
La boîte à outils Mojo
La première version du Mojo SDK est livrée avec tout ce dont on a besoin pour développer facilement des programmes Mojo. Cela inclut les outils suivants :
- mojo driver : fournit un shell (pour read-eval-print-loop ou REPL), et vous permet de construire et d’exécuter des programmes Mojo, d’empaqueter des modules Mojo (y compris le support de l’extension!), de générer des docs, et de formater du code
- Extension pour Visual Studio Code (VS Code) : prend en charge diverses fonctions de productivité telles que la coloration syntaxique, la complétion de code, etc.
- Noyau Jupyter : permet de créer et d’exécuter des carnets Mojo, y compris du code Python
- Support de débogage (à venir) : entrer dans les programmes Mojo en cours d’exécution et les inspecter, même en mélangeant les cadres de pile C++ et Mojo.
Cette version initiale du SDK prend en charge les systèmes X86/Linux, et sera étendue à d’autres systèmes d’exploitation, matériels et fonctionnalités d’outils dans les prochaines mises à jour.
Pilote Mojo
Tout comme avec Python, vous pouvez commencer à programmer dans une REPL en lançant la commande mojo. De plus, Mojo vous permet de construire des exécutables compilés statiquement que vous pouvez déployer sans aucune dépendance. Par exemple, vous pouvez compiler et exécuter le programme hello.🔥 comme suit :
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 | $ mojo build hello.🔥 $ ./hello Hello Mojo 🔥! 9 6 3 $ ls -lGtranh hello* -rw-r–r– 1 0 817 Sep 3 23:59 hello.🔥 -rwxr-xr-x 1 0 22K Sep 3 23:59 hello |
Un binaire compilé statiquement de 22 kb est plutôt cool, et est rendu possible par la gestion étroite des dépendances de Mojo.
Extension Visual Studio Code
Visual Studio Code est l’un des IDE les plus populaires au monde, et Mojo le supporte directement avec une extension officielle sur le Visual Studio Marketplace. Mojo prend ainsi en charge un certain nombre de fonctions de productivité pour les développeurs :
- Mise en évidence de la syntaxe
- Diagnostics et corrections
- Définitions et références
- Aide au survol
- Formatage
- Complétion du code
Le serveur de langue et l’extension vérifient le code Mojo et affichent les erreurs et les avertissements en ligne :
Intégration Jupyter
Jupyter fournit un environnement puissant pour le développement interactif. Mojo inclut un noyau Jupyter afin que vous puissiez commencer immédiatement à utiliser les carnets Jupyter.
Support de débogage (bientôt)
Dans une prochaine version, une expérience de débogage interactive sera ajoutée, qui fonctionne dans Visual Studio Code et via l’interface de ligne de commande LLDB. De plus, le débogueur de Mojo est capable de déboguer du code hybride Mojo/C/C++ dans la même session de débogage, ce qui permet aux développeurs de travailler avec du code hautement spécialisé.
La première version de Mojo est maintenant disponible pour le développement local. Modular annonce que ce n’est qu’un début, qu’il continue à améliorer le langage et commencera à ouvrir certaines parties de Mojo plus tard dans l’année.
https://www.youtube.com/embed/32aVTyYICys?wmode=transparent&fs=1
Source : Modular