Ouvrir le menu principal

MacGeneration

Recherche

Programmer en Rust pour Mac OS 9, c'est possible

Pierre Dandumont

mercredi 25 janvier 2023 à 08:30 • 3

macOS

Dans un post sur Twitter, Bastian a montré une image qui va faire plaisir aux aficionados des versions classiques de Mac OS. En effet, il a réussi à lancer un programme conçu en Rust sur le vénérable OS d'Apple, abandonné en 2001.

Le résultat des essais de Bastian.

Rust est un langage de programmation moderne et assez récent, il a été pensé à partir de 2006 et dévoilé officiellement par Mozilla — employeur du concepteur — en 2010. Pour exécuter un programme conçu dans ce langage sur un Mac des années 90, il faut donc ruser un peu. Il n'y a pas de CodeWarrior ici (et encore moins de Xcode, évidemment), mais un passage par un programme open source, w2c2. Ce dernier permet de convertir le code WebAssembly vers le C, et il prend en charge les PowerPC 32 bits.

Plusieurs étapes nécessaires

Le lien avec Rust n'est donc pas totalement direct : WebAssembly est une norme qui se base sur un bytecode, un peu comme le Java. Il s'agit d'un code intermédiaire, indépendant de la plateforme, qui peut être exécuté à travers un interpréteur qui peut être un navigateur. Mais ce bytecode peut aussi être converti pour être exécuté directement, ce que fait le programme w2c2.

Pour obtenir le résultat montré en image sous Mac OS 9, il faut donc d'abord compiler le code Rust pour obtenir du bytecode WebAssembly (par exemple avec Emscripten) et ensuite convertir le résultat obtenu en C, pour une exécution sous Mac OS 9. Comme w2c2supporte officiellement les PowerPC, il a probablement été modifié pour prendre en charge les anciens OS Apple ou pour générer du code Carbon, compatible avec Mac OS 9 mais aussi Mac OS X. Et même si c'est totalement inutile, c'est tout de même assez amusant.

Soutenez MacGeneration sur Tipeee

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

Samsung lance un clavier particulièrement original qui n'est absolument pas un Magic Keyboard avec des touches DeX et IA

18:15

• 3


Avec Nano Banana Pro, Google améliore grandement la génération d’images de Gemini

17:36

• 3


Choisir son écran professionnel : ce qui compte vraiment 📍

17:09

• 0


System.css donne un look Système 6 à vos sites web grâce à une simple feuille CSS

16:10

• 3


C'est le moment de renouveler votre abonnement Microsoft Office 365, grâce au Black Friday

15:10

• 22


Black Friday : des nombreuses souris Logitech et accessoires de bureau en promo (jusqu’à -38 %)

14:42

• 2


Matter 1.5 fait enfin entrer les caméras dans la domotique standard

14:05

• 12


Black Friday : prix records sur les SSD externes Crucial X10 jusqu’à 8 To

13:12

• 11


macOS 26.2 corrigerait une bonne fois pour toutes le bug des apps Electron qui font ramer Tahoe

11:52

• 11


macOS Tahoe 26.2 va doper le machine learning sur les Mac M5

11:43

• 12


Black Friday : le Soundcore Space One Pro en promo à 129 €, son meilleur prix

10:31

• 9


Black Friday : le Mac mini M4 avec 1 To de stockage à 949 € aujourd’hui seulement

10:13

• 6


Atlas progresse sur Mac et gagne des onglets verticaux et les passkeys iCloud

09:59

• 4


Le MacBook Pro M5 avec 24 Go de RAM à 1 799 € et d’autres configs spéciales en promo 🆕

09:54

• 20


Apple Store : un Black Friday du 28 novembre au 1er décembre sans iPhone 17 ni MacBook Pro M5

09:40

• 7


Un pilote de F1 battu pour la première fois par une monoplace sans pilote

07:30

• 55