Mozilla finalise son langage Rust qui arrive en version 1.0

Par:
fredericmazue

mar, 19/05/2015 - 15:30

Rust est un projet qui a 6 ans, et que Mozilla a fait connaître publiquement il y a 5 ans. Rust est un langage compilé qui veut assurer la performance et la sureté de programmation. Le 15 mai 2015, Mozilla a annoncé la version 1.0 de Rust.

Encore un qui dit ça... il n'est pas le premier :-) Alors comment Rust se distingue-t-il ? Selon Mozilla, Rust veut concurrencer C et C++ sur leur terrain favori : la performance, avec une finesse sur le contrôle de ce qui se passe au plus bas niveau. D'ailleurs, d'emblée, la FFI (Foreign Function Interface) de Rust, c'est-à-dire son interface avec du code C existant et les librairies écrites en C, a été particulièrement soignée. Mais Rust veut aussi être un langage de haut niveau lorsque l'on code, être expressif et être adapté aux projets difficiles.

Pour cela, Rust est multi paradigmes. Il supporte la programmation impérative, la programmation objet, et la programmation fonctionnelle. Il emprunte beaucoup à cette dernière, parmi les langages fonctionnels que sont Haskell ou les langages de la famille ML.

En fait, quand on regarde Rust, on ne peut s'empêcher de penser que c'est dommage de créer le langage que l'on avait déjà en la personne d'Objective Caml. Langage de grande qualité, français (petit cocorico au passage :-) très performant et très sûr à la programmation. C'est ainsi que si Objective Caml peine (c'est peu dire) à gagner en popularité, il est utilisé pour les projets très difficiles et notamment l'écriture de compilateurs. D'ailleurs les tous premiers compilateur Rust ont été écrits en Objective Caml. A tout seigneur, tout honneur.

Bref, Mozilla réinvente Objective Caml, en insistant sur la qualité de la gestion de la mémoire de Rust. Rust suit la propriété d'une zone mémoire et le temps de vie des objets dès la compilation nous dit-on. Un objet alloué ne peut avoir qu'un seul propriétaire, et Rust s'assure que le propriétaire a un temps de vie au moins aussi long que sa propriété.

Rust est un langage multi-thread qui supporte donc la programmation concurrente. Il est disponible pour Windows, Linux et Mac OS X. Le code source de Rust est sur GitHb.

Pour saluer ce nouveau langage, sacrifions à la tradition :-)

fn main() {

    println!("Hello World!");

}