RustPython : un interpréteur Python écrit en Rust

Par:
fredericmazue

lun, 04/02/2019 - 17:15

Python est le langage qui a le vent en poupe. Il a été le langage de l'année 2018 de l'index TIOBE. Savez-vous qu'il existe plusieurs implémentation de Python ?

En premier il y a CPython, l'interpréteur Python écrit en langage C. C'est l'interpréteur officiel du projet python.org. Mais avec le temps d'autres implémentations sont apparues : Jython un interpréteur Python écrit en Java, IronPython, un interpréteur Python écrit en .NET et même PyPy, un interpréteur Python écrit en... Python :-)

RustPython est une autre implémentation, écrite comme son nom le suggère, en Rust. Pour mémoire, Rust, un langage tout rouillé à l'état natif, a été conçu par le fondation Mozilla qui l'utilise dans Quantum, le nouveau moteur de rendu multi processus de Firefox. Mozilla présente Rust comme un langage performant et sûr, peu gourmand en ressources mémoire.

Rust est indéniable un langage intéressant. Fallait-il pour autant écrire un Python en Rust ? Toujours est il que RustPython existe désormais. L'interpréteur est entièrement écrit en Rust et n'est aucunement dépendant de CPython. C'est une 'implémentation propre, sans hacks de compatibilité' selon les termes des responsables du projet.

Intéressant, RustPython permet de générer des binaires pour WebAssembly. Cette fonctionnalité n'en est qu'à un stade préliminaire pour le moment toutefois. RustPython propose encore un convertisseur de bycode CPython en bytecode RustPython également en version expérimentale pour le moment.

RustPython est un logiciel libre sous licence MIT, disponible sur GitHub.