Ouvrir le menu principal

MacGeneration

Recherche

Mojo đŸ”„, le nouveau langage de Chris Lattner, est disponible sur macOS

Nicolas Furno

vendredi 20 octobre 2023 à 15:02 ‱ 39

Logiciels

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.

Du code en Mojo, ici dans Visual Studio Code qui dispose d’une extension officielle pour gĂ©rer le langage et sa coloration syntaxique.

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.

Mojo en action : rĂ©sultats d’un benchmark en haut, un « Hello, world! » en bas.

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.


  1. 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 fichier code.mojo. On n’arrĂȘte pas le progrĂšs
  ↩

Source :

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Grosse panne sur les réseaux mobile et fixe de SFR

14:54

‱ 18


Un Steam Deck caché dans un clavier Apple pour l'utiliser avec des lunettes AR

13:00

‱ 8


En Allemagne, le Schleswig-Holstein va abandonner les outils Microsoft comme Teams ou Office

11:38

‱ 35


macOS Tahoe change plus facilement la couleur des LED des manettes de PlayStation

10:45

‱ 12


GlassBar opacifie déjà la barre des menus de macOS Tahoe

09:04

‱ 12


NouveautĂ©s d’iOS 26, macOS Tahoe, Liquid Glass
 Tous nos articles pour tout savoir sur la WWDC 2025

06:00

‱ 11


Les leçons de la WWDC 2025, et ce qu’elle laisse entrevoir de la suite : la semaine Apple

15/06/2025 Ă  21:00

‱ 43


Aperçu de Spotlight dans macOS Tahoe : le lanceur idéal pour débuter ?

14/06/2025 Ă  11:00

‱ 35


Sortie de veille : une WWDC 2025 rĂ©ussie ? Notre dĂ©brief d’iOS 26, Liquid Glass


14/06/2025 Ă  08:00

‱ 11


SAV : Apple lance un programme de réparation pour des Mac mini M2 qui ne s'allument plus

14/06/2025 Ă  07:38

‱ 41


Avec Tahoe, les applications macOS pourront s’afficher sur le Vision Pro

13/06/2025 Ă  21:57

‱ 17


Les Youtubeurs de Linus Tech Tips voulaient se moquer des Mac pendant un mois, mais décident finalement de rester chez Apple

13/06/2025 Ă  18:56

‱ 104


watchOS 26 : découverte de la nouvelle interface de l'app Exercice

13/06/2025 Ă  18:27

‱ 5


macOS 26 peut faire le ménage dans les icÎnes de la barre des menus

13/06/2025 Ă  14:52

‱ 11


Avec EnergyKit, Apple veut charger votre watture au moment le plus opportun

13/06/2025 Ă  13:45

‱ 13


3DMark, une référence pour comparer les performances des GPU, débarque sur Mac

13/06/2025 Ă  13:02

‱ 31