Some news: Rust

(La version française se trouve plus bas)

Time for a new (IT) post here. FinalTerm has been abandoned, and so did my (ridiculously small) involvement. I can develop, but that’s not my main job, so I’m fairly inefficient at it. But I do want to enhance a bit my skills on that point. Since then, I’ve stumbled upon some new language, named Rust, that I found quite interesting after reading an article or two about it. So I dived (a bit, I definitely need to read more) into the official book.
I won’t give you a exhaustive list of pros and cons of Rust, but it’s quite appealing:

  • Memory safety (atomic access, end of use-after-free, and out-of-bounds indexing (AKA buffer overflows). At last ! So many years after such bugs caused so many security problems…
  • Concurrency (threading is easy to handle and safe, especially thanks to memory safety cited on the previous line).
  • Fast (performances close to C and such).
  • Low-level while providing high-level helpers (pattern matching, iterators…).
  • Integrated system that helps (a lot !) to manage your project.
  • Integrated syntax for unit testing.
  • Integrated syntax for documentation generation.

Of course, having all this at hand requires a couple notions one has to understand:

And a couple others. That renders (and I guess that will be the same for you) your first steps with Rust difficult. Something like cursing the Rust compiler becoming a second nature. Like ADA (OK, not THAT picky, but enough to make me cry for help a couple times to the friendly Rust community). Anyway, I kept trying, and…the next post will tell you more.

Le temps d’un nouveau billet (concertant l’informatique) est venu. FinalTerm a été abandonné, et ma (ridicule) implication a prit le même chemin. Je sais développer, mais cela n’est pas ma tâche principale, aussi suis-je assez peu efficace. Je veux néanmoins m’améliorer. Depuis, j’ai fais la découverté d’un nouveau langage, nommé Rust, que j’ai trouvé intéressant après avoir lu un article ou deux à son propos. Je me suis donc plongé (un soupçon, il me reste beaucoup de lecture) dans le livre officiel.
Je ne vous ferais pas une liste exhaustive des avantages et des inconvénients de Rust, mais il est attirant:

  • Sécurité mémoire: (Enfin la fin de nombre d’hélas classiques problèmes de sécurité…) plus d’utilisation de mémoire libérée (use-after-free), et autres dépassements de tableaux.
  • Simultanéité (les fils d’exécution (threading) sont simples à gérer et sécurisés, dû à la présence de la sécurité mémoire citée sur la ligne du dessus).
  • Rapidité (les performances sont proches du C et autres).
  • Bas-niveau tout en proposant des fonctionnalités de haut-niveau ( (filtrage par motif (pattern matching), iterateurs…).
  • Système intégré de gestion de projet.
  • Syntaxe intégrée de tests unitaires.
  • Syntaxe intégrée de génération de documentation.

Évidemment, pouvoir disposer de tout ceci requiert de maîtriser quelques notions:

Ainsi que quelques autres. Cela rend (et je pense qu’il en sera de même pour vous) difficiles vos premiers pas avec Rust. Au point, parfois, de vous découvrir une seconde nature consistant à insulter le compilateur Rust. Tout comme avec ADA (OK, Rust n’est peut-être pas aussi pointilleux, mais en tout cas suffisamment pour que j’implore plus d’une fois l’aide de l’adorable communauté Rust). Toutefois, je me suis accroché, et…le prochain billet vous en dira davantage.

Haut de page