18/05/2015

Mozilla stabilise Rust en version 1.0

La fondation Mozilla annonce la disponibilité du langage Rust en version 1.0. Ce langage multi paradigme compte offrir une grande sécurité dès la programmation et garder la performance des codes natifs.

Les nouveaux langages vont et viennent. La plupart d’entre eux restent des jouets académiques ou des nouveautés de niche. Rust, dont le développement est activement soutenu par Mozilla semble déjà faire exception. Ce nouveau langage vient d’atteindre sa première livraison stable la semaine dernière, marquant le point où les fonctionnalités sont stabilisées et les développeurs peuvent commencer à se faire moins de soucis sur la pérennité du code au grès des évolutions.

Rust se donne pour objectif d’offrir une performance et un contrôle d’un langage comme le C ou le C++, tout en limitant les cas où les arbitrages entre fonctionnalité et sécurité deviennent ardus. Le facteur clé pour Rust réside dans la gestion de la mémoire, un des problèmes les plus fréquemment rencontrés dans le langage C. Des langages comme Java ont choisi de gérer les problèmes à l’exécution, notamment avec l’ajout d’un « garbage collector », une approche coûteuse en terme de performance.

La stratégie de Rust consiste à suivre dès la compilation la propriété d’une zone mémoire et le temps de vie des objets. Les objets alloués en mémoire ne peuvent avoir qu’un seul propriétaire et Rust s’assure que le propriétaire de l’objet a des temps de vie au moins aussi longs que l’objet lui-même. Cette décision évite certains écueils typiques du langage C, comme la libération de la mémoire pourtant utilisée par un autre bout de code. Le langage inclut aussi une fonctionnalité de gestion de la concurrence et le support pour des macros puissantes et génériques.

Ces fonctionnalités devraient permettre à Rust d’être compétitif à la fois de vitesse d’exécution et utilisation de la mémoire, tout en limitant l’exposition à des failles de sécurité. D’autres langages ont déjà essayé de fournir de tels avantages, mais le support de Mozilla semble changer la donne. Le développement de Servo, un moteur de navigation parallèle, comme le développement d’un analyseur d’adresses URL fondé sur Rust sont des signes très encourageants. Ce dernier pourrait d’ailleurs être intégré dans Firefox, donnant un éclairage supplémentaire au langage Rust dans des projets d’une grande envergure.

Source : blog Rust

Actualités