Credit where credit is due


#1

I’ve gotten frustrated with the state of the Rust documentation from time to time and have expressed my views here when I felt it appropriate. I’ve also filed a number of issues with the Book’s Github repository in an effort to try help. I think Rust is important technology but it’s complex and not easy to explain. This is not a language that would admit to something as simple as R5RS for Scheme. So it’s a big job and it’s clearly not done yet.

I am continuing to experiment with Rust for future use by porting a few utilities from a financial software suite I’ve developed. The most complex of these is a report generator, which was particularly difficult to get working in Rust. But having done so (and having discovered parts of the language not to use gratuitously in the course of doing this, a very valuable lesson), I wanted to try the threading support and this application was an ideal candidate. Running in a single thread, report generation takes too long, and there were obvious opportunities for concurrency. The point of this message is to note that I found the material on concurrency in v2 of the Book to be quite good and with that and the std modules documentation I was able to implement a multi-threaded version of my application fairly easily, resulting in a very worthwhile performance improvement.


#2

I’ve implemented a FIX client, using code gen for the parsing/gen and mio for the network part. For the most part I’ve enjoyed Rust, some things are harder than using a less strict language. Performance wise I’m very very happy, which was the end goal.

Originally I’ve tried to use the futures crate, but that was a time sink. MIO was way easier to make progress. So far, thumbs up.


#3

Rust is the first language that I’m in love with. Python I used to love. Ruby I liked a lot. But Rust is the only one that makes me feel a certain way.

I feel I can express myself best in Rust; for the first time when I write code it feels as if I’m writing a poem. It brings forth the same kind of creative joy.

This is the first time in my life as a programmer I feel I’m in control. A dark cloud of worry that used hang over me as I coded is gone.

Except for prototyping or scripting, or a manager holding a gun to my head, I can’t think of why I’d ever use another language.

Trust me, none of this is hyperbole.