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.

Rejoignez le Club iGen

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

Rejoignez la plus grande communauté Apple francophone !

S'abonner

xAI annonce des compagnons virtuels, entre midinette pour otaku et fans de Cinquante nuances de Grey

16/07/2025 à 23:30

• 12


Test du PlugBug 120 W : un chargeur de voyage qu’on n’oublie pas grâce à Localiser

16/07/2025 à 20:30

• 15


Un dock Thunderbolt 5 bien équipé proposé par Razer

16/07/2025 à 20:15

• 8


iPhone 17 : la future palette de couleurs déjà dans la nature ?

16/07/2025 à 20:13

• 21


Le Thermomix TM5 a été hacké, et il ne lance même pas Doom

16/07/2025 à 19:27

• 4


Vous avez peur pour vos données ? TeamGroup lance un SSD qui peut s'autodétruire

16/07/2025 à 17:56

• 9


macOS 12 Monterey bientôt obligatoire pour Google Chrome

16/07/2025 à 15:46

• 4


Red by SFR propose une Box 5G

16/07/2025 à 13:00

• 27


Face à la gronde, WeTransfer rétropédale sur l’analyse des fichiers par IA

16/07/2025 à 11:37

• 57


Le lecteur d’albums Longplay est disponible en version finale sur le Mac

16/07/2025 à 09:49

• 10


Les bêtas publiques d'iOS 26, iPadOS 26 ou macOS Tahoe prennent du retard

16/07/2025 à 07:42

• 59


Pornhub, Redtube et YouPorn abandonnent une seconde fois la France

15/07/2025 à 21:10

• 60


On a testé Comet, le navigateur de Perplexity qui explore le web comme nul autre

15/07/2025 à 20:30

• 27


La version Mac de Cyberpunk 2077 sera disponible le 17 juillet sur Steam et le Mac App Store

15/07/2025 à 16:25

• 40


Guide d’achat : nos accessoires tech pratiques pour les télétravailleurs

15/07/2025 à 15:02

• 6


Apple investit 500 millions dans les terres rares et la fabrication d'aimants aux États-Unis

15/07/2025 à 14:57

• 24