Mozilla finalise Rust 1.0, son langage de programmation

Nicolas Furno |

Mozilla a annoncé en fin de semaine dernière la finalisation de Rust 1.0. La fondation travaille sur ce nouveau langage de programmation depuis 2009 et il lui a fallu six ans ans pour le peaufiner et offrir cette première version stabilisée.

Quelques lignes de Rust

Rust n’est pas un langage de programmation pensé pour créer des interfaces, comme peuvent l’être l’Objective-C d’Apple ou le .Net de Microsoft pour prendre deux exemples. Mozilla a choisi de s’attaquer aux langages de bas niveaux et Rust est ainsi un concurrent direct de C et C++. L’objectif était de maintenir les excellentes performances de ces deux langages, mais en les améliorant sur deux points : la gestion de la mémoire et la sécurité.

Sans entrer dans des détails très vite trop complexes, disons simplement que Rust est beaucoup plus sévère sur l’utilisation de la mémoire vive. Des protections ont été ajoutées pour éviter que des données soient accessibles quand elles ne devraient pas l’être, tandis que le développeur n’a plus à s’occuper de gérer la mémoire en libérant ce qu’il utilise. Ce dernier point est essentiel pour limiter les bugs dans un logiciel.

La proximité de Rust avec C permet également aux développeurs d’utiliser plus simplement ce nouveau langage. Mozilla détaille dans cet article de blog les liens que l’on peut créer entre Rust et C, et ainsi simplifier la transition. Un point important pour qu’un nouveau langage trouve sa place. Depuis 2012, la fondation l’utilise elle-même en interne pour développer Servo, son tout nouveau moteur de rendu qui remplacera peut-être Gecko à terme. Pour l’heure, Mozilla a prévu de l’utiliser pour Firefox Mobile (navigateur Android) et Firefox OS, peut-être dès cette année.

Si vous voulez utiliser Rust sur un projet, vous pouvez commencer avec la documentation. Le projet est open-source et on peut l’utiliser sur tous les systèmes d’exploitation.

avatar Insorior | 

Honnêtement ? Il y a assez de langages cœur qui même s'ils sont perfectibles sont bien assez performants pour qu'on ait pas besoin de se cloîtrer au langage d'un nouvel acteur de marché qui ne devrait pas donner accès à grand chose...

avatar PiRMeZuR | 

@Insorior :

Même si ces langages ne deviennent pas populaires, une concurrence intense favorise l'émulation et ainsi l'amélioration de tous les langages. Les majeurs, comme Java et C++ reprennent d'ailleurs les idées des jeunes loups qui tentent de les détrôner.

avatar fanchig | 

Est-ce que vous savez si Swift va être open source, comme certains le pensaient?

avatar Domsware | 

Je n'ai pas vu passer de nouvelles sur ce point. Le créateur le souhaite apparemment...

avatar oomu | 

c'est marrant, mais c'est exactement le même pitch que Swift et un bazillion de langages qui se veulent comme C tout en épargnant le développeur de la DURE ET CRUELLE RÉALITÉ !

avatar Domsware | 

Oui, je me suis fait la même réflexion en lisant ce commentaire. C'est un point positif que de faire évoluer les langages en profitant de l'expérience acquise.

Ada fait cela depuis un moment d'ailleurs et il est amusant et intéressant de voir des pratiques désormais "anciennes" remises au goût du jour avec ces nouveaux langages.

En tout cas je me régale avec Swift !

avatar lmouillart | 

"se veulent comme C tout en épargnant le développeur de la DURE ET CRUELLE RÉALITÉ !"
C'est pour cette raison que tous échouent à détrôner le couple C/C++ qui au lieu de voir sa domination s’effriter, se renforce et s'enracine.

avatar PiRMeZuR | 

@lmouillart :

Pour moi, c'est (beaucoup ?) plus compliqué que ça. Les éditeurs qui créent des langages ne le font pas pour détrôner C/C++ mais pour réaliser de manière plus efficace un travail en interne ou, comme Mozilla, pour apporter une nouveauté sur la table. Il n'y a donc pas de guerre et C reste populaire car il l'est déjà énormément, car il est utilisé comme support d'apprentissage par beaucoup et effectivement car sa rigueur et son bas niveau le rendent très efficient.

avatar marc_os | 

Qu'apporte Rust de plus qu'Objective C ?
Le programmeur n'aurait donc par exemple pas à s'y soucier de références croisées entre objets lors de leur suppression ?

avatar marc_os | 

Bon, espérons que Rust ne va pas rouiller trop vite !

avatar jerome74 | 

"Rust n’est pas un langage de programmation pensé pour créer des interfaces, comme peuvent l’être l’Objective-C [...] Rust est ainsi un concurrent direct de C et C++"
Heu... Objective-C est aussi un concurrent direct de C++! On peut faire bien d'autres choses que des interfaces avec... Même s'il est vrai que n'étant vraiment supporté que sur OS X / iOS, concrètement on choisit généralement d'autres langages pour développer du code destiné à être utilisable sur d'autres OS.

CONNEXION UTILISATEUR