|Beginning Rust Programming|
Author: Ric Messier
Rust is an innovative programming language that promises to make our programs better without having to sacrifice too much loss of efficiency. It is probably best suited to systems and low-level programming, but you can use it for more general tasks. At the moment I'd personally rate Rust as the most interesting language around. It has even started to make in-roads into the Linux kernel and if Linus can put up with it over his beloved C then it has to have something special about it.
Unfortunately what is special about it is something you aren't going to find out easily from this particular book. It seems to treat Rust as if it was just another language and all that you need to do is master its loops, conditionals and functions without too much regard for what makes it special.
It is also very much an example-driven book. Personally I don't like this approach much because it tends to make sure you can't see the wood for the trees. If you like the example-based approach you may want to disregard my negative comments. Even so, I don't think that starting off with an example that implements Conway's Game of Life is particularly useful. It is a big example and we don't even get a "hello world" to ease us into using the tools to write and compile a simple program. Again you may think that this "in at the deep end" approach is better, but if so be prepared to follow a lot of code before you have even made the acquaintance of Rust.
This is clearly not a book aimed at the non-programmer and you certainly need to know another language reasonably well.
Chapter 2 looks as if it is getting into the Rust with a first section called "Understanding Ownership" but it is really all about what a variable is and then quickly moves on to consider data types and working with files. Again the focus is more on getting Life to work rather than exploring Rust.
Chapter 3 is about building a library, but it at least starts to look at traits and how Rust copes with object-oriented ideas without actually being object oriented.
Chapter 4 switches to Hangman as an example and again the course through the material is more about getting the program written than any logical progression though Rust itself.
Chapter 5 is about concurrency and again instead of concentrating on the language it is more about classical approaches to the problem. Chapter 6 is about network programming and again it is more about sockets and TCP then Rust. Chapter 7 is more of the same but with a layer of TLS security. Chapter 8 is about SQL, Chapter 9 is about NoSQL - MongoDB in particular, Chapter 10 deals with HTML, Chapter 11 details a web server in Rust and Chapter 12 is about using the Windows Registry and similar.
Chapter 13 is a very strange excursion into "devices", mainly the Raspberry Pi. Why? I'm not certain but there is no help on getting Rust set up on the Pi and there are bits of Go and Python in there as well. Chapter 14 is about Rust's collection library and the final chapter is a collection of odds and ends - unit testing, recursion and machine learning!
This is a book not so much about Rust as about applications that happen to use Rust as their implementation language. It doesn't help with the problems of setting up a reasonable programming environment - everything is done from the command line. It doesn't tackle the language in an order that explains the ideas and motivations behind the language instead it presents examples in various areas and explains what aspects of Rust are needed. I can't quite understand why there is a chapter on devices such as the Raspberry Pi and one on AI at all because they don't throw any light at all on Rust and seem to be in because they are topical or because the author finds them interesting.
If you need a book to give you an understanding of Rust then this probably isn't it. If you like example-based tutorials and are prepared to spend a lot of time learning about things that have little to do with Rust then you might find this book interesting.
Programming Rust (Rating 4)
The Rust Programming Language (Rating 4.8)
For insights into why Rust is so well regarded see also:
Rust Is Safer But Do We Use It Safely
To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.
|Last Updated ( Saturday, 29 January 2022 )|