Rust, un nouveau langage signé Mozilla
jeu, 02/12/2010 - 09:38
Rust (rouille en anglais, curieux comme nom...) est un langage sur lequel la fondation Mozilla travaille depuis 2006, mais "à temps perdu". Comme bien souvent, le propos est de proposer un langage "meilleur, plus clair, plus sûr, habile à la programmation concurrente", etc. Un discours qui n'est pas sans rappeler celui de Go, le langage proposé par Google.
La fondation a annoncé il y a quelques jours que Rust était assez stable et complet pour être présenté au public, et l'a donc rendu accessible sur ce https://github.com/graydon/rust site. Etant entendu que le langage est encore expérimental et qu'il n'est pas du tout envisageable de l'utiliser en production pour l'instant.
A quoi ressemble Rust ? Voici un bout de code:
iter pairs() -> tup(int,int) {
let int i = 0;
let int j = 0;
while (i < 10) {
put tup(i, j);
i += 1;
j += i;
}
}
fn main() {
let int i = 10;
let int j = 0;
for each (tup(int,int) p in pairs()) {
log p._0;
log p._1;
check (p._0 + 10 == i);
i += 1;
j = p._1;
}
check(j == 45);
}
Au coup d'oeil, cela n'est pas sans rappeler les langages fonctionnels à la ML. Rust est décrit comme multi-paradigme, permettant la programmation impérative, objet et fonctionnelle. Ce qui n'est pas sans rappeler Objective Caml, un langage excellent, mais qui n'a jamais gagné en popularité. D'ailleurs le compilateur de Rust, avant d'être écrit en Rust, ce qui ne devrait pas tarder, est écrit en ... Objective Caml.
On se demande vraiment s'il fallait réinventer la poudre. Peut-être Rust, qui indéniablement est intéressant, réussira-t-il mieux qu'O Caml ?