Rust (Mozilla)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Rust.
Rust
Apparu en 2010
Auteur Graydon Hoare
Développeurs Mozilla
Paradigmes impératif, Objet, fonctionnel, concurrent
Typage Fort, Statique
Influencé par C++, Erlang, Haskell, Scala...
Système d'exploitation Multiplate-forme
Licence MIT / Apache 2
Site web rust-lang.org

Rust est un langage de programmation compilé multi-paradigme expérimental développé par Mozilla Research[1]. Il a été conçu pour être « un langage sécurisé, concurrent, pratique »[2],[3], supportant les styles de programmation purement fonctionnelle, modèle d'acteur, procédurale et orientée objet.

Le langage s'est développé à partir d'un projet personnel du développeur en chef Graydon Hoare, qui commença à travailler dessus en 2006. Son employeur Mozilla commença sa participation en 2009[4] et révéla officiellement leurs travaux pour la première fois en 2010[5]. La même année, le projet passa du compilateur initialement utilisé (écrit en OCaml) au compilateur auto-hébergé écrit en Rust[6]. Ce compilateur, connu sous le nom de rustc, s'est compilé avec succès en 2011[7]. Le compilateur auto-hébergé utilise LLVM pour son Backend.

La première version alpha numérotée du compilateur Rust apparait en janvier 2012[8]. La version actuelle est la version 0.10, sortie en avril 2014[9].

De par la politique de Mozilla[10], Rust est entièrement développé de façon ouverte (les ingénieurs de Mozilla Research publient leurs idées et les décisions prises lors des meetings) et sollicite les remarques et contributions de la communauté. La conception du langage est graduellement améliorée au travers des retours de l'équipe travaillant sur le moteur de rendu Servo[11] et de façon pragmatique lors de l'écriture du compilateur.

Points forts[modifier | modifier le code]

Rust repose sur des concepts connus et éprouvés (d'où le nom Rust, « la rouille » en anglais) et n'intègre pas de concepts nouveaux et non testés[12]. Ces concepts ont été empruntés à des langages de programmation existants et assemblés dans un seul langage[13] :

Rust est souvent décrit comme l'un des successeurs potentiels de C++ (avec D et, dans une moindre mesure, Go) notamment grâce à sa sûreté — c'est un objectif clairement affiché par les développeurs.

Exemples de code[modifier | modifier le code]

Le classique Hello World, valide avec la version 0.8 :

fn main()
{
    println!("Hello World!");
}

Références[modifier | modifier le code]

  1. (en) « The Rust Language », Lambda the Ultimate,‎ 2010-07-08 (consulté en 2010-10-30)
  2. (en) « The Rust Programming Language » (consulté en 2012-10-21)
  3. (en) « Doc language FAQ » (consulté en 2012-10-21)
  4. (en) « Project FAQ »,‎ 2010-09-14 (consulté en 2012-01-11)
  5. (en) « Future Tense »,‎ 2011-04-29 (consulté en 2012-02-06) : « At Mozilla Summit 2010, we launched Rust, a new programming language motivated by safety and concurrency for parallel hardware, the “manycore” future which is upon us. »
  6. (en) Graydon Hoare, « Rust Progress »,‎ 2010-10-02 (consulté en 2010-10-30)
  7. (en) Graydon Hoare, « [rust-dev] stage1/rustc builds »,‎ 2011-04-20 (consulté en 2011-04-20) : « After that last change fixing the logging scope context bug, looks like stage1/rustc builds. Just shy of midnight :) »
  8. (en) catamorphism, « Mozilla and the Rust community release Rust 0.1 (a strongly-typed systems programming language with a focus on memory safety and concurrency) »,‎ 2012-01-20 (consulté en 2012-02-06)
  9. « Rust Release Notes »
  10. (en) « The Mozilla Manifesto » (consulté en 2012-04-09)
  11. (en) Peter Bright, « Samsung teams up with Mozilla to build browser engine for multicore machines »,‎ 2013-04-03 (consulté en 2013-04-04)
  12. « Présentation de Rust sur Léa-Linux » (consulté en 2013-12-11)
  13. « Sortie de Rust 0.8 » (consulté en 2013-15-10)

Liens externes[modifier | modifier le code]