+++
title = "Programming Rust: Fast, Safe Systems Development - Jim Blandy"
date = 2018-05-22

category = "review"

[taxonomies]
tags = ["books", "en-au", "jim blandy"]
+++
{{ stars(stars=4) }}

First off, this is not a book for *learning* Rust: This is a Reference Book. A good one at it, but not for learning.

My inclination to learn Rust is how it deals with errors (it's `Result` enum), something that most languages seem to drop out of context or accept some "catch all" which let developers ignore such errors. Rust doesn't; you <b>have</b> to deal with errors.

And, in such small thing, which I thought it was very simple and straightforward... is not. The `Err` part can be very complex, specially if you want to keep in line with the rest of the system. Which is good.

Although a good book, it's not great. The explanation for generics is very convoluted and complex and doesn't help grasping the whole context -- maybe it's easier if you're already working with a language that has generics. And then, when you are almost getting how they work, they throw lifetimes in it and the confusion grows. 

Several topics are started and then become "beyond the scope of this book". So it just brushes some pointers at it and then completely forget about it. I, personally, would drop some of those -- it could mention that they exist -- and expanding for not being "beyond the scope of this book".