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.

Le domaine t.me de Telegram placé en serverHold dans la journée est de retour en ligne 🆕

14/07/2026 à 21:15

• 3


CrashStealer : une application Mac notarisée cachait un voleur de mots de passe

14/07/2026 à 16:05

• 11


Promo : les stations d'accueil Ugreen pour Mac mini M4 à partir de 80 €

14/07/2026 à 15:40

• 0


watchOS 27 : les 5 nouveautés à essayer en premier

14/07/2026 à 15:34

• 0


SpeechAnalyzer : un benchmark confirme que la transcription d’Apple bat le Whisper d'OpenAI

14/07/2026 à 13:30

• 17


Procès OpenAI : Apple face au risque d'un lavage de linge sale en famille

14/07/2026 à 11:40

• 14


Visite chez NordVPN en Lituanie, dans les coulisses méconnues d’une marque omniprésente

14/07/2026 à 11:00

• 51


Les classements de l’App Store mettent Elon Musk face à ses contradictions

14/07/2026 à 10:39

• 13


Faux banquier, faux policier : Apple sonne l’alerte face aux arnaques qui se multiplient sur FaceTime

14/07/2026 à 10:20

• 10


Un écran 5K pour Mac, avec hub et pied pivotant, sans le tarif Apple

14/07/2026 à 09:49

• 0


Acquisition : Apple s'offre SigLens pour muscler le monitoring d'applications

14/07/2026 à 09:46

• 0


Version Tracker veut remplacer MacUpdater sur macOS

14/07/2026 à 08:20

• 25


Siri AI est-il en train de métamorphoser l’Apple Watch ?

14/07/2026 à 07:44

• 18


Arnaques en ligne : le grand coup de balai d'Apple se prépare dans iOS

14/07/2026 à 06:46

• 5


La première bêta publique de watchOS 27 est disponible !

14/07/2026 à 06:14

• 2


macOS 27 Golden Gate : les 5 nouveautés à essayer en premier

13/07/2026 à 23:14

• 31