Pourquoi le langage Rust ?
1. La question de la gestion de la mémoire
La gestion de la mémoire est au cœur de ce qui constitue l’un des principaux atouts du langage Rust. Mais pour l’expliquer, il nous faut d’abord énoncer quelques rappels quant au fonctionnement de la mémoire d’un ordinateur, d’un point de vue programmation.
a. La pile Pile
La pile (stack en anglais) fonctionne rigoureusement comme une pile d’objets physiques, une pile d’assiettes par exemple. Chaque nouvelle assiette trouve sa place sur la pile. Chaque fois que l’on prend une assiette, c’est la dernière arrivée qui est sur le sommet. Le fonctionnement d’une pile peut se voir comme respectant l’acronyme LIFO (Last In, First Out), littéralement « dernier arrivé, premier sorti ».
Typiquement, lors de l’appel d’une fonction ou d’une méthode de classe (dans un langage-objet), les paramètres de la fonction/méthode sont placés sur la pile jusqu’à la fin de l’appel. Dans ce cas précis, on parle d’un passage de paramètre par valeur.
L’alternative est un passage par référence : dans ce dernier cas, les valeurs des paramètres sont stockées dans le tas à des emplacements pointés par des références. C’est donc en quelque sorte les adresses mémoires des différentes valeurs de paramètres...