Désolé, j'ai forké

Posté par  (site web personnel) . Édité par BAud, Ysabeau 🧶 🧦, Arkem et Nils Ratusznik. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
29
25
août
2023
Rust

Forker un logiciel libre (en créer une nouvelle version indépendante de l’original) est une décision difficile, qui risque de diviser sa communauté. Je propose ici la traduction en français d’un article que j’avais initialement écrit en anglais et publié sur le blog du logiciel de création de sites web SQLPage à propos du fork d’une bibliothèque populaire du langage de programmation Rust.

Rust a 5 ans, rétrospective

91
3
sept.
2020
Rust

Rust est un langage de programmation développé principalement par Mozilla. La première version stable, la 1.0, est sortie en 2015. La dernière version disponible à ce jour est la 1.46.0, publiée le 27 août 2020.

Dépourvu de ramasse‑miettes, il permet une gestion fine de la mémoire, de manière sécurisée pour prévenir les erreurs de segmentation. Il garantit aussi la sécurité des fils d’exécution (thread safety). Ces caractéristiques en font un langage sûr et performant.

Ses bonnes performances, comparables à celles du C et du C++, le rendent particulièrement adapté à la programmation système. Ainsi, il est utilisable dans un grand nombre de situations où ces deux langages étaient habituellement utilisés : noyau de système d’exploitation, services de systèmes, embarqué, moteurs de jeu vidéo 3D, etc.

Cette dépêche se propose de revenir sur son histoire, courte mais riche, et d’examiner la situation présente.

Robert, un logiciel de stockage en mémoire vive

Posté par  . Édité par Ysabeau 🧶 🧦, claudex, bubar🦥, palm123, Benoît Sibaud et Davy Defaud. Modéré par claudex. Licence CC By‑SA.
31
20
avr.
2020
Rust

Bonjour tout le monde,

J’ai le plaisir, pour ce premier message sur LinuxFr.org, de vous annoncer un nouveau projet de stockage clé‑valeur en mémoire vive.

« Encore un » vous direz‑vous ? Certes. Voyons si j’arrive à vous convaincre.

N. D. M. : à ne pas confondre avec le protocole ROBERT (ROBust and privacy‐presERving proximity Tracing) qui vient d’être publié par l’INRIA et la Fraunhofer AISEC pour le suivi de contacts dans le cadre de la pandémie de Covid‑19.

L’édition 2018 de Rust est sortie !

Posté par  (site web personnel) . Édité par Xavier Teyssier, Davy Defaud, patrick_g et claudex. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
41
9
déc.
2018
Rust

L’édition 2018 du langage Rust est sortie. Cette dépêche est une traduction et un résumé de la documentation officielle.

Certaines nouveautés ne sont pas si nouvelles, mais c’est toujours utile d’en parler si vous n’avez pas trop suivi l’évolution du langage depuis un an.

Servo fin 2015 : où en est-on ?

Posté par  . Édité par M5oul, Nÿco, BAud, palm123, Lucas, antistress, ZeroHeure, Bruno Michel et claudex. Modéré par Benoît Sibaud. Licence CC By‑SA.
60
28
sept.
2015
Rust

Servo, le moteur de rendu de page web moderne, parallèle et sûr développé en langage Rust, continue d’avancer à grands pas !

Rappel ou information, Servo, publié sous licence MPL 2.0, est développé sur OS X, GNU/Linux, Android, et Firefox OS.

Servo

Rust versions 1.1, 1.2 et 1.3

Posté par  . Édité par M5oul, Nÿco, Benoît Sibaud, BAud, Lizzie Crowdagger, Ontologia, Bruno Michel et Sylvestre Ledru. Modéré par claudex. Licence CC By‑SA.
52
23
sept.
2015
Rust

D’après Wikipédia, « Rust est un langage de programmation compilé multi-paradigme conçu et développé par Mozilla Research. Il a été conçu pour être « un langage sécurisé, concurrent, pratique », prenant en charge les styles de programmation purement fonctionnelle, modèle d'acteur, procédurale et orientée objet. »

Rust

Rust a été largement couvert sur LinuxFr.org, à travers les versions 0.7, 0.8, 0.9, 0.10, 0.11, 0.12, la version 1.0-alpha, et enfin la version 1.0.

Rust 1.0, entrée dans la période stable

54
16
mai
2015
Rust

Rust est un langage de programmation conçu pour répondre aux problématiques modernes des gros logiciels clients et serveurs utilisant Internet, en particulier la sécurité, la gestion de la mémoire et la parallélisation. Il concurrence donc directement les langages C et C++.

Logo officiel de Rust

Vendredi 15 mai 2015, trois ans et demi après la sortie de la version 0.1, Rust sort en version 1.0 ! Il y a eu beaucoup de changements depuis : le langage a très fortement évolué, une communauté de développeurs/euses s’est formée, de nombreuses bibliothèques et un guide d’apprentissage du langage ont été créés, et la documentation a été améliorée.

L’arrivée d’une version stable est un évènement bienvenu puisqu’elle permet de pouvoir utiliser le langage plus sereinement. Le langage s’ouvre donc un peu à un public plus large que l’enthousiaste et aventureuse équipe de développement de Servo ou autres pionniers/ères dans l’utilisation de Rust. Que ce soit dans des contextes personnels ou professionnels, les changements réguliers dans le langage repoussaient de nombreux/ses utilisateurs/trices potentiel·le·s.

Le langage Rust en version 1.0 alpha, on arrête de tout casser !

Posté par  . Édité par olivierweb, reno, bubar🦥, BAud, patrick_g, palm123, Nÿco, Bruno Michel et Nicolas Boulay. Modéré par bubar🦥. Licence CC By‑SA.
Étiquettes :
44
24
jan.
2015
Rust

Rust est un langage de programmation conçu pour répondre aux problématiques modernes des gros logiciels clients et serveurs utilisant Internet, en particulier la sécurité, le contrôle de la mémoire et la parallélisation.

Comme le rappelle la rétrospective 2014, Rust est un sujet qui a été beaucoup traité l’année précédente. N’oublions pas non plus l’expérimentation avec Rust et ibus qui a fait l’objet d’une dépêche en octobre dernier.

Avec un peu de retard par rapport au communiqué lors de la sortie de la version 0.12, mais comme annoncé le 12 décembre, c'est près de 3 ans après la version 0.1 que l'équipe de Rust publie la version alpha de la version 1.0 du langage ce 9 janvier.

Rust 0.12 : non, pas le jeu vidéo, le langage !

35
3
nov.
2014
Rust

Le langage de programmation Rust continue son bonhomme de chemin et se prépare à une version bêta 1.0 avant la fin de l'année.

En attendant, Rust 0.12 est sorti le 9 octobre 2014 ! Pour rappel, Rust est un langage de programmation système qui vise la performance et la sûreté. Il est développé par Mozilla, en parallèle d'un nouveau moteur expérimental de rendu de pages web écrit en Rust : Servo.

Rust

Rust est open source au sens de l'OSI et libre. Son développement est fait de façon ouverte sur GitHub et le code source est publié sous double licence Apache 2.0 et licence MIT.

Pour une meilleure compréhension des détails techniques de cette dépêche et des évolutions de Rust, il est conseillé de se référer à la dépêche sur Rust 0.8 (ainsi qu’aux suivantes que vous trouverez via les tags rust et langage_rust).

Encore une couche de rouille avec Rust 0.11

Posté par  . Édité par olivierweb, Leo, ariasuni, Nils Ratusznik, Nÿco, BAud, Sylvestre Ledru, claudex, Fabien, palm123, Bruno Michel, Dareg et thargos. Modéré par bubar🦥. Licence CC By‑SA.
53
14
juil.
2014
Rust

Rust 0.11 est sorti le 2 juillet 2014 ! Pour rappel, Rust est un langage de programmation système qui vise la performance et la sûreté. Il est développé par Mozilla, en parallèle d'un nouveau moteur de rendu expérimental écrit en Rust, Servo.

Rust est open source. Son développement est fait de façon ouverte sur GitHub et le code source est publié sous double licence Apache 2.0 et licence MIT.

Rust

Rust s’oxyde en version 0.10

Posté par  . Édité par olivierweb, BAud, sebcrozet, Fabien, Leo, Bruno Michel, Nÿco, jcr83, reno, stiffux, Ontologia et bubar🦥. Modéré par patrick_g. Licence CC By‑SA.
63
8
avr.
2014
Rust

Mozilla et la communauté Rust ont annoncé la version 0.10 de Rust le 3 avril. Rust est un langage de programmation développé par Mozilla. La version 0.1 a été annoncée par Mozilla le 20 janvier 2012. Pour découvrir le langage, on peut se référer au nouveau site web sur lequel on peut lire :

Rust est un langage de programmation système qui est extrêmement rapide, empêche presque tous les plantages et élimine les accès concurrent.

Logo de Rust

Rust se veut donc une alternative à C/C++, comme D et Go, et possède tout comme ces derniers un ramasse-miettes, mais qui est optionnel. Sa syntaxe est proche de celle du C/C++/Java tout en étant beaucoup plus expressif. Sa force est de mélanger les fonctionnalités de différents paradigmes, beaucoup venant du fonctionnel (immuabilité par défaut, modèle objet proche de celui d'Haskell, fermetures, etc). Il met l'accent sur la sûreté d'exécution, notamment grâce à son système élaboré de pointeurs intelligents et son système de types forts, sans sacrifier les performances.

Depuis la version 0.9, qui a fait l’objet d’une dépêche, les efforts ont notamment porté au cours des 1500 changements sur la simplification du langage. Le langage Rust n'est pas stabilisé, cela viendra avec la version 1.0.

Cette itération de développement a apporté le découpage de la bibliothèque libextra, introduit des extensions de syntaxe inter crate, amélioré la manipulation des pointeurs avec le trait Deref et la gestion des erreurs des entrées/sorties.
En dehors du compilateur, cette nouvelle version a vu l'introduction d'un nouveau processus de RFC ainsi que la construction quotidienne des installateurs binaires.

Des améliorations ont été données à l'infrastructure de tests et aux scripts de construction. Des installeurs sont désormais disponibles pour Linux, MacOS et Windows. Même si certains font tourner Rust sur ARM, ce n'est pas une architecture proposée dans la documentation.

Comme pour les précédentes versions, cette version 0.10 doit être considérée comme une version alpha, appropriée pour les adopteurs précoces et les amateurs de langages.

Quelques nouvelles sur Rust à l’occasion de la 0.9

Posté par  . Édité par olivierweb, Nÿco, Yves Bourguignon, Benoît Sibaud, palm123, outs, Pierre Jarillon, spider-mario et Bruno Michel. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
46
21
jan.
2014
Rust

Mozilla et la communauté Rust ont annoncé la version 0.9 de Rust le 9 janvier.

Cet article présente l'actualité de ce dernier depuis la version 0.8 détaillée en octobre. Rust est un langage orienté sûreté, concurrence, praticité. Concrètement, c’est un langage compilé, orienté système, et multi-paradigme (procédural, fonctionnel, orienté objet). Ce fut une autre sortie mouvementée dans laquelle ont été réalisés d'importants changements, et l’activité autour de Rust n’a jamais été aussi importante !

Résumé

Côté syntaxe, on assiste à une amélioration et surtout, une réduction de la variété des fermetures dans le langage. Cette version commence la dernière série de changements prévus concernant la façon dont les pointeurs sont traités dans Rust. À commencer par la dépréciation des pointeurs partagés et son symbole @, qu’il faudra remplacer par l’utilisation de types de pointeurs intelligents introduits dans la bibliothèque standard.

Le code source du compilateur et de la bibliothèque standard a été nettoyé, optimisé, et de nombreux bogues ont été corrigés. Le travail sur le compilateur a permis d’améliorer la vitesse de compilation et de faire plus d’optimisations. On peut désormais lier statiquement une bibliothèque à la compilation, et le système d’entrées/sorties de la bibliothèque standard a été réécrit.

La documentation a été améliorée et la présentation revue. L'infrastructure de construction a été elle aussi modifiée. Pour rappel, toute modification de code du dépôt Git passe en premier lieu par un robot de construction afin de la valider à l'issue de l'exécution de tous les tests.

Les changements sont détaillés dans la seconde partie de la dépêche.

Note : Comme la précédente version, la version 0.9 doit être considérée comme une version alpha, adaptée pour les curieux, les pionniers et les amateurs du langage. Il y aura encore une 0.10 et probablement une 0.11.

Présentation de Rust 0.8

129
11
oct.
2013
Rust

Rust est sorti en version 0.8 le jeudi 26 septembre dernier, apportant comme d’habitude son lot de nouveautés.

Rust est un langage de programmation multi-paradigme (procédural, fonctionnel, orienté objet), compilé et orienté système. Il se veut donc un concurrent sérieux de langages tels que le C, C++, D et Go.

Logo Rust

Centré sur la sûreté, la concurrence et la praticité, il est développé par Mozilla Research (ils ne font pas que du web !) et une communauté de bénévoles. Il est publié sous double licence Apache 2.0 et MIT.

Il y a déjà eu deux dépêches complémentaires consacrées à Rust, à l’occasion de la sortie de la version 0.1 et de la version 0.3. Notons également un journal plutôt intéressant mais assez succinct, paru à l’occasion de la sortie de la version 0.7.

Mais en règle générale, le sujet reste borné à quelques blogs anglophones, quelques nouvelles furtives sur Developpez.com par exemple, et bien sûr le site web du projet.

Il me semblait donc nécessaire de faire le point sur ce langage à la communauté dynamique et qui semble très prometteur. La sortie de la version 0.8 est donc l’occasion rêvée pour vous faire une présentation complète du langage. D’ailleurs, ce document est sûrement, à la date de la publication, le plus gros document francophone concernant Rust (et la plus grosse dépêche jamais publiée sur Linuxfr ? :p).

Note de l’auteur : un grand merci à sebcrozet pour ses connaissances sur le fonctionnement de Rust (qui s’est inscrit sur Linuxfr juste pour l’occasion !), à olivierweb et à Olivier Renaud pour leurs innombrables corrections, ainsi qu’à tous les autres contributeurs bien entendu !

Sortie de Rust en version 0.3

35
23
juil.
2012
Rust

Rust est un langage développé par la fondation Mozilla qui implémente les paradigmes procédural, orienté objet, concurrent et fonctionnel. C'est un langage compilé plutôt orienté bas-niveau et qui concurrence le C ou le C++. Il est multiplates-formes et tourne sous Linux, Mac OS X et Windows. Pour rappel, Rust est un langage de programmation système fortement typé. L'accent est mis sur la sûreté des accès mémoire et la concurrence.

Vu les orientations de la fondation Mozilla, le but est de pouvoir développer un navigateur Web avec ce langage et les travaux ont déjà commencé, ce navigateur alternatif s'appelle Servo.

logo

Sortie de la version 0.1 de Rust

Posté par  (site web personnel) . Édité par claudex et Lucas Bonnet. Modéré par baud123. Licence CC By‑SA.
Étiquettes :
36
22
jan.
2012
Rust

Mozilla a annoncé le 20 janvier la sortie de la version 0.1 du compilateur pour Rust, sous une licence de type MIT. Rust est un langage de programmation système fortement typé. L'accent est mis sur la sûreté des accès mémoire et la concurrence. Il fonctionne actuellement sur les plateformes GNU/Linux, OSX et Windows.

Voici un exemple d'Hello World :

use std;
import std::io;

fn main() {
    for i in [1, 2, 3] {
        io::println(#fmt("hello %d\n", i));
    }
}

Rust est un langage proche de Go, il partage d'ailleurs une inspiration commune venant de Newsqueak, Alef et Limbo. Toutefois, les développeurs de Rust ont commencé leur travail avant l'annonce de Go et ne sont pas satisfaits par la sémantique adoptée par Go (état partagé mutable, Ramasse-miettes global, pointeurs NULL, absence de destructeurs).

Plus d'informations en seconde partie.