Sécurité

Mozilla publie Rust 0.1, le langage qui finira par usurper le C++ de Firefox – High-teK.ca

Ce site peut gagner des commissions d’affiliation à partir des liens sur cette page. Conditions d’utilisation.

Après plus de cinq ans de développement, Mozilla Labs et la communauté Rust ont publié la première version alpha – version 0.1 – du compilateur de langage de programmation Rust. Le langage Rust met l’accent sur la concurrence et la sécurité de la mémoire, et – si tout se passe comme prévu – est finalement préparé pour remplacer C++ en tant que langage compilé de choix de Mozilla. Des prototypes de navigateurs programmés en Rust finiront par voir le jour, puis un jour Firefox – ou des parties de Firefox – peuvent être réécrites en Rust.

Un peu plus sur le langage lui-même : Rust est un langage de programmation orienté objet, compilé et typé statiquement (et les objets sont immuables par défaut). Le compilateur est pris en charge sur Windows, Linux et Mac. En ce qui concerne les fonctionnalités, Rust évite intentionnellement toute idée nouvelle et s’appuie à la place sur des fonctionnalités connues existantes qui sont présentes dans d’autres langages. En termes de syntaxe, Rust utilise des accolades {} comme C, C++ ou JavaScript, mais comme vous pouvez le voir dans le bloc de code ci-dessous, la syntaxe est en fait assez funky.

use std;
fn main(args: [str]) {
     std::io::println("hello world from '" + args[0] + "'!");
}

À ce stade, nous devons comparer Rust à Go, Le nouveau langage de Google. La communauté Rust dit explicitement qu’elle n’a pas été inspirée par Go – le développement de Rust a commencé avant Go – mais que d’autres langages créés par Rob Pike tels que Newsqueak, Alef et Limbo étaient influents. En termes de fonctionnalités, les langages sont assez similaires, mais Rust semble être plus axé sur la sécurité et la sûreté. Là où Go a une récupération de place globale, des pointeurs nuls et des états mutables partagés, Rust GC est facultatif et par tâche, les pointeurs nuls ne sont pas autorisés et les objets sont immuables par défaut.

Psssssst :  SXSW 2017 : Un regard sur le jeu d'échecs complexe de la cybersécurité - High-teK.ca

En ce qui concerne l’état du langage, la plupart de ses fonctionnalités fonctionnent mais sont incomplètes. Les API de bibliothèque standard sont susceptibles d’être modifiées. Les performances ne sont pas encore à la hauteur (à terme, elles devraient être aussi rapides que C++). En d’autres termes, vous pouvez plonger et jouer avec Rust, mais les futures versions du compilateur casseront votre code.

Pour commencer, visitez le site Web de la langue Rust – ou lire les notes de version de Rust 0.1

Bouton retour en haut de la page