Chris Lattner adore manifestement créer de nouveaux langages de développement. C’est lui qui a créé Swift au sein d’Apple, le développeur a quitté la Pomme et après une tentative ratée chez Tesla, il a été embauché par Google où il a adapté Swift à TensorFlow, avant de quitter l’entreprise puis… Swift lui-même. C’était en février 2022 et cette décision semblait liée autant à la culture du secret d’Apple qui colle mal avec son désir de développer en public et des décisions qui ne lui convenaient pas. Il avait peut-être déjà en tête Mojo 🔥1, son nouveau langage de développement qui est désormais disponible sur macOS.
Mojo a les mêmes ambitions que Swift, à savoir être un langage de développement universel, qui peut servir autant à écrire des scripts que du code bas niveau. Son concept de base est de combiner la souplesse de Python, avec les performances de C, soit deux autres langages de développement respectivement de haut et bas niveau. Ses objectifs le rapprochent davantage de Rust ou même de C++ que de Swift toutefois, avec en plus un accès complet à Python. On peut ainsi écrire du code en Python 3 et l’utiliser avec des programmes entièrement écrits dans ce langage, mais il est aussi possible de les convertir en grande partie en Mojo.
Pourquoi faire ? Améliorer les performances est peut-être la promesse initiale la plus importante de Mojo. L’un des exemples fournis par ses concepteurs permet de mesurer le gain de performance pour un même code, exécuté en Python et en Mojo et la différence est impressionnante. Sur mon Mac Studio M1 de base, le nouveau langage est 76 892 fois plus rapide. Il faut dire que Python ne gère pas les tâches en parallèle, alors que ce nouveau-venu est entièrement optimisé pour cela et il peut ainsi exploiter tous les cœurs de mon ordinateur pour offrir ces résultats incomparables.
Le choix de Python ne doit rien au hasard : ce langage de développement est couramment utilisé dans le domaine de l’intelligence artificielle, un domaine qui intéresse tout particulièrement Mojo. Même si le nouveau-venu entend répondre à tous les besoins, il met l’accent sur l’IA et sert de fondations au moteur de Modular, l’entreprise derrière cette initiative. Il s’agit avant tout d’offrir aux spécialistes du domaine une solution plus rapide pour entraîner et exploiter des modèles construits sur les apprentissages automatisés, avec des gains de performances notables face à PyTorch et TensorFlow.
Que ce soit votre domaine ou non, vous pouvez découvrir Mojo sur macOS et Linux, en suivant les instructions affichées sur le site officiel. Le langage de développement doit être rendu open-source à terme, mais ce n’est pas encore le cas et il faut ouvrir un compte en laissant une adresse mail pour récupérer le kit de développement.
Terminons en notant que Mojo n’est compatible nativement qu’avec les Mac Apple Silicon pour le moment. Il est toutefois possible de l’installer sur un Mac Intel, via Linux et un système de virtualisation comme Docker. Cette même méthode permet aussi de l’exploiter sous Windows, via le sous-système Linux.
-
L’emoji est utilisé non seulement pour agrémenter le nom du langage, mais aussi pour les extensions des noms de fichier. On peut ainsi créer un fichier
code.🔥
et Mojo l’identifiera autant qu’un fichiercode.mojo
. On n’arrête pas le progrès…  ↩︎
Source : Michael Tsai