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 !

Les entrailles d’un interpréteur CSS très rapide : Quantum CSS (alias Stylo)

119
31
août
2017
Mozilla

Cet été, Lin Clark a publié un article assez détaillé sur le fonctionnement du nouvel interpréteur CSS qui sera utilisé par les futures versions de Firefox.

Comme l’article est assez détaillé et qu’il révèle ce qui fait la magie de Rust et du projet Quantum, nous avons décidé de vous proposer une traduction dans la suite de la dépêche.

Veuillez noter que l’article original est sous licence _Creative Common Attribution — Partage dans les mêmes conditions 3.0 non transposé, cette dépêche suit donc les mêmes règles.

GNOME 3.22 Karlsruhe : A Land Far, Far Away

99
28
sept.
2016
Gnome

On ne présente plus GNOME, l’environnement de bureau libre (depuis toujours), sexy (depuis la série 3.x), ergonomique (selon les points de vue), personnalisable (non, là, je plaisante, en revanche) et, dorénavant, à la pointe de la technique !

GNOME 3.22, nom de code Karlsruhe, est sorti le mercredi 21 septembre 2016, avec, sous le capot, rien de moins qu’une révolution…

La dernière version de GNOME est le résultat de six mois de développement dont 22 980 changements effectués par approximativement 775 contributeurs.

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.

Journal Retour sur les décisions, les projets et les polémiques de Mozilla des dernières années

Posté par  . Licence CC By‑SA.
85
16
mai
2015

Introduction

Cet article essaye de présenter brièvement Mozilla, puis de faire un tour sur les principales actualités liées pendant ces dernières années, ce que soit des projets lancés, des choix technologiques ou des polémiques. Puis de faire une conclusion sur le chemin parcouru par Mozilla et son avenir.

Le projet

Le projet Mozilla débute en 1998 avec la fondation de l'organisation Mozilla devenue la fondation Mozilla, organisme à but non lucratif en juillet 2003.
Elle a pour objectif de (…)

Des alternatives à grep, ls et find

Posté par  (site web personnel) . Édité par Xavier Teyssier, Davy Defaud et palm123. Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
69
19
mar.
2018
Ligne de commande

Les outils en ligne de commande comme ls, grep et find existent depuis de nombreuses années et, même s’ils continuent de s’améliorer, il est parfois intéressant de regarder les alternatives. Je vais vous parler de ripgrep, exa et fd.

Redox OS, le prochain système d’exploitation à conquérir le monde ?

67
7
déc.
2020
Noyau

Le 20 avril 2015, Jeremy Soller publiait la première version de Redox OS sur GitHub. Ce système d’exploitation est depuis lors en développement actif, avec des apports de plus de soixante‑dix développeurs. Après cinq ans de développement, on en est à la version 0.5.0.

Voici une courte présentation de Redox OS, de son état d’avancement, et quelques réflexions sur la possibilité de succès de ce projet.

Firefox 47, version de transition

66
12
juin
2016
Mozilla

La 47e version de Firefox est sortie le 7 juin 2016 avec peu de nouveautés visibles pour l'utilisateur (citons tout de même une synchronisation optimisée des onglets ouverts à travers vos appareils, de multiples améliorations dans la gestion des vidéos et une nouvelle page de suivi des performances pour les développeurs), mais un important travail de fond qui se poursuit pour peaufiner l'existant (WebRTC…) et préparer la suite (WebExtensions, Electrolysis…).

logo Firefox

Par ailleurs, de nouvelles façons de contribuer en testant tôt les prochaines versions et futures fonctionnalités apparaissent avec cette version (programme Test Pilot, canal nightly).

Sans plus attendre, voici le détail des nouveautés pour les versions de bureau et mobile, ainsi que pour les développeurs. Suivent comme d'habitude quelques digressions autour de Firefox et Mozilla.

Firefox 49 en chansons

64
21
sept.
2016
Mozilla

La 49e version de Firefox est sortie le 20 septembre 2016, confortant notamment le travail essentiel en cours sur les fondations du logiciel : mode multi‐processus, WebExtensions…

Par ailleurs, des fonctionnalités arrivent (notre panda roux est désormais doué de parole), d’autres partent (good‐bye Hello) : ainsi va la vie.

Parallèlement, un gros travail est en cours : la mise à niveau du logiciel sur la plate‐forme GNU/Linux, comme vous le verrez au paragraphe Prochaines versions (cherchez l’étiquette Rattrapage).

Logo de Firefox

Firefox 45 ESR et autres actualités mozilliennes

64
27
mar.
2016
Mozilla

La 45e version de Firefox est sortie le 8 mars et devient la nouvelle version à support étendu, Extended Support Release (ESR), à la place de la version 38 sortie le 12 mai 2015.

Les navigateurs IceCat et Tor Browser se baseront sur cette itération de Firefox pour leurs prochaines versions.

On ajoutera que la première version de correctifs de Firefox, 45.0.1, est sortie le 16 mars.

Il est donc temps de faire le point sur cette version ESR ainsi que sur l’actualité Mozillienne.

Mozilla Firefox ESR

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.

Journal Go et Rust, lequel est le remplaçant du C ?

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
61
9
sept.
2018

Go et Rust sont deux langages qui sont souvent comparés l'un à l'autre. Et cela vient en partie du fait qu'ils sont tous les deux des langages vus comme des remplaçants du C et du C++. Pourtant, ces deux langages sont relativement différents et n'ont pas empruntés les mêmes caractéristiques au C et au C++.

Sur le plan philosophique, C est souvent vu comme un langage assez simple (peu de mots-clés, peu de concepts compliqués comme la surcharge d'opérateurs, un (…)

Jubako et Arx, un conteneur universel et son format d’archive

Posté par  (site web personnel) . Édité par orfenor, Yves Bourguignon, vmagnin, palm123, Ysabeau 🧶 🧦, patrick_g, Ltrlg et Julien Jorge. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
Étiquettes :
61
4
nov.
2022
Technologie

Jubako, quezako ?

重箱 (Jūbako) est le nom japonais des boîtes à bento. Ce sont des boîtes compartimentées qui peuvent se composer en fonction de ce qu’il y a à stocker dedans (en général un repas).

Et ça tombe bien, parce que Jubako, c’est un format de conteneur qui permet de stocker différentes données et méta-données. J’ai tendance à parler de conteneurs plutôt que d’archives, en effet « archive » est un mot orienté qui fait penser aux archives de fichiers, alors que Jubako se veut généraliste : un conteneur Jubako pourrait être utilisé pour plein d’autres choses : empaquetage d’applications, pack de ressources dans un binaire, conteneur multimédia, etc.

Vous pouvez voir Jubako comme étant au stockage ce que XML est à la sérialisation. XML définit comment sérialiser du contenu (sous forme d’un arbre de nœuds avec des attributs) mais ne définit pas quels sont ces nœuds et attributs. Chaque cas d’usage a sa propre structure. Pour Jubako c’est pareil, il définit comment stocker des données dans un fichier « d’archive » mais il ne définit pas quelles sont ces données. Chaque cas d’usage aura sa propre structure de données.

Jubako et Arx sont sous licence MIT.

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

Firefox 48 : API WebExtensions, Electrolysis et sécurité

59
17
août
2016
Mozilla

La 48e version de Firefox est sortie le 2 août 2016, et c’est un gros morceau, même si cela ne sautera pas immédiatement aux yeux de l’utilisateur ! L’essentiel des nouveautés consiste en effet en d’importantes mises à jour d’architecture qui vont permettre de débuter un nouveau cycle qui portera ses fruits progressivement :

  • l’arrivée à maturité des WebExtensions va autoriser la conversion progressive des extensions existantes à ce nouveau format qui offre plus de facilité pour les développeurs visant plusieurs navigateurs et plus de sécurité pour l’utilisateur ;
  • le déploiement progressif chez les utilisateurs du mode multi‐processus (cette avancée étant, in fine, liée à la précédente) permettant une meilleure réactivité de l’interface et, à terme, une plus grande sécurité ;
  • la préparation de Firefox pour recevoir du code Rust, qui offre une plus grande sécurité que le code C++, par exemple.

Fait notable de cette version : désormais il n’est plus possible de passer outre l’obligation de recourir à des extensions signées !

Logo horizontal de Firefox