A year or so later

(La version française se trouve plus bas)

Time to talk a bit about Rust and my pet project. I had the crazy idea to develop a Bash shell kind of clone in Rust to get my feet wet. I’m using Bash daily, and I then thought I was quite skilled with that beast. BIG mistake !
I actually had no real idea of the hardships of such a project. Parsing a quite complex language, managing variables, term output, prompt management too hides a couple treasures I did not even heard about until then, (etc) is far more work that I could think of.
Real life™ was quite time consuming (family, getting back to a sport regular practice, translating a big book, associative life…), so I have not that much to tell about Rust. My pet project saw a beginning, looking awfully like a 90s C code. Then I decided to rewrite it in a more Rust-y way. I began. And it’s still waiting for me. I have to seriously get back to the drawing board to think about it. I’m at last fixed on the crate (think library) I will use to parse input. But I’m not that clear on a couple other things, like variable management, compatibility degree to Bash, etc.
Anyway, I have not abandonned the idea even if it is severely stuck for now. I have no real deadline, but it’s a fairly complicated task I’d be very proud to get running. For real.

Il est à nouveau temps de parler un peu de Rust et mon petit projet personnel. J’ai eu l’idée folle de développer une espèce de clône de Bash shell en Rust afin de m’y initier. J’utilise Bash quotidiennement, et je pensais donc être quelque peu compétent vis-à-vis de la bête. GROSSE erreur !
Je n’avais alors pas vraiment idée des difficultés d’un tel projet. Analyser un langage quelque peu complexe, gérer les variables, les sorties sur terminal, la gestion du prompt cache quelques surprises dont je n’avais jamais entendu parler jusqu’alors, (etc) est bien plus de travail que je n’avais pu l’imaginer.
La vraie vie™ a été quelque peu chronophage (famille, refaire régulièrement du sport, traduire un gros bouquin, vie associative…), ce qui fait que je n’ai pas grand chose à dire sur Rust. Mon projet a été commencé, ressemblant affreusement à du code C des années 90. Puis j’ai décidé de la réécrire davantage à la sauce Rust. J’ai commencé. Et cela attend toujours. Je dois sérieusement me remettre à y réfléchir avant de m’y replonger. Au moins, je suis fixé sur la « crate » (voyez ça comme une librairie) qui sera utilisé pour analyser les entrées. Mais ce n’est pas aussi clair pour d’autres choses, telles que la gestion des variables, le degré de compatibilité avec Bash, etc.
. Cependant, je n’ai pas abandonné l’idée même si elle est sérieusement au point mort pour le moment. Je n’ai pas vraiment d’échéance, mais c’est néanmoins une tâche assez complexe dont je serais fier d’arriver à bout. Vraiment.

Haut de page