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.

Ajouter ce site dans Google News

Microsoft invente un port USB-C magnétique, une solution propriétaire pour lutter contre le MagSafe

19:45

• 4


« Welcome home » : Apple annonce un lancement de produits le 13 octobre

18:20

• 18


Un smartphone à la main, jusqu’à six mois sans permis : la France durcit les sanctions

17:17

• 122


« J’aurais très bien pu attendre que cela passe » : quand l'Apple Watch détecte une anomalie cardiaque

17:07

• 24


Apple réclame les revenus YouTube de Jon Prosser dans l'affaire des fuites d'iOS 26

16:13

• 2


Le MacBook « Ultra » beaucoup plus léger, mais pas beaucoup plus fin ?

15:24

• 17


OpenAI rend ChatGPT plus interactif, Anthropic rend Claude moins cher

13:15

• 15


Avec Tendedero, les captures d’écran du Mac sèchent sur une corde à linge

11:54

• 9


RetinaRelay transforme votre vieil iMac Intel en écran externe

10:30

• 25


Titres-restaurant : la France prépare leur utilisation le dimanche et la fin du papier en 2028

10:22

• 32


iOS 27.2 : le déploiement de la nouvelle app Santé soulève des interrogations en Europe

09:27

• 33


iPad mini 8 : OLED, nouvelle puce et résistance à l’eau, le prochain petit iPad se précise

08:34

• 25


Apple et le King’s Trust lancent des ateliers créatifs avec Charles III et Elton John en invités

08:30

• 3


Apple et les géants de la tech au cœur d’un projet de taxe européenne

07:29

• 35


Des utilisateurs d’Apple Watch Series 12 et Ultra 4 se plaignent d’irritations au poignet

06:50

• 22


Orange présente un décodeur TV Dolby Atmos 3.1, et voudrait bien remplacer votre (petite) barre de son

06:20

• 16