
Le site officiel de Rust le définit comme étant un langage performant et fiable. Il indique que Rust est extrêmement rapide et utilise peu de mémoire. Il est sans moteur d’exécution, peut alimenter des services critiques en termes de performances et peut s’exécuter sur des périphériques intégrés ou s'intégrer à d’autres langages. Aussi, lit-on sur le site, son système de types et le modèle de propriété de Rust lui garantissent la sécurité de la mémoire et des threads. Cela vous permet d’éliminer de nombreuses classes de bogues au moment de la compilation.
Rust a subi de nombreuses mises à jour et améliorations depuis sa naissance et est à ce jour compatible avec beaucoup d’autres outils pour vous permettre de concevoir des logiciels fiables et efficaces. Il est exécutable en ligne de commande, compatible avec Webassembly et permet de construire des abstractions de haut niveau sans renoncer au contrôle de bas niveau (qui est la façon dont les données sont représentées dans la mémoire ). Le projet RustPython, comme mentionné plus haut, est un interpréteur pour Python 3 totalement écrit en Rust un peu à la manière de CPython (un interpréteur de bytecode écrit en langage C pour Python). RustPython est une implémentation du langage Python 3 et sans compilation, dit l’équipe.
Les autres implémentations actuelles du langage Python 3 sont les suivantes : PyPy 3 (Python implémenté en Python), IronPython 3 (une implémentation de Python dans .NET) et MicroPython (une implémentation de Python en C pour les microcontrôleurs). L’équipe sollicite la communauté à tester RustPython et de les aider à mettre à jour la documentation au fur et à mesure que le projet avance. RustPython est construit pour être compatible avec une multitude d’autres bibliothèques comme WebAssembly (WASM) ou Ouroboros, mais actuellement, il ne dispose que d’un support pour WebAssembly. L’équipe indique que le design suit celui de CPython et le code est d'abord analysé dans un AST (arbre de syntaxe abstrait).
Ensuite, il est compilé en bytecode et ce bytecode est exécuté par une machine virtuelle. La machine virtuelle a accès à plusieurs types de Python intégrés tels que int, tuple, list, set, dict et iter. Pour tester RustPython avec WebAssembly, vous devez installer wasm-pack pour gérer la compatibilité et l’interopérabilité. Une démonstration complète est présentée sur la page GitHub du projet. Cette démonstration est compilée de Rust vers WebAssembly et s'exécute dans le navigateur. Vous pouvez entrer votre propre code Python dans l’espace réservé et cliquer Run pour observer le résultat. L’autre chose, vous pouvez ouvrir les outils de développement de votre navigateur et jouer avec rp.pyEval('print("a"

« C'est merveilleux ! Cela pourrait devenir le meilleur moyen de déplacer des projets Python vers Rust en l’exécutant tout simplement sur l'interpréteur RustPython ou pour optimiser les routines de bas niveau dans Rust. Dans 15 ans, je ne serais pas surpris si ceci ou quelque chose du genre dépasse la popularité de CPython », a commenté un internaute. Un autre voit RustPython comme la meilleure implémentation de Python avec un autre langage compte tenu de la rapidité qu’on connaît à Rust. Pour lui, en comparaison avec CPython, ce dernier serait vraiment très lent par conception et donc RustPython s’annonce comme une solution prometteuse surtout par le fait qu'il peut-être compilé en WASM.
Source : GitHub
Et vous ?


Voir aussi




