Beginning Rust Programming

Author: Ric Messier
Publisher: Wiley
Date: March 2021
Pages: 416
ISBN: 978-1119712978
Print: 1119712971
Kindle: B08WZ2D7WC
Audience: Developers wanting to learn Rust
Rating: 3
Reviewer: Mike James
Everyone seems to want to know what makes Rust special. Does this book give the answers?

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.

Banner

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!

Conclusion

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. 

Related Reviews:

Programming Rust (Rating 4)

The Rust Programming Language (Rating 4.8)

For insights into why Rust is so well regarded see also:

Rust Is A Top Twenty Language

Rust Is Safer But Do We Use It Safely

Is Rust Really Safe?

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.

Banner


Administering Relational Databases on Microsoft Azure

Author: Prashanth Jayaram et al
Publisher: Independent
Pages: 622
ISBN: 979-8706128029
Print: B08Y4LBTP4
Kindle: B08XZQJHMK
Audience: Azure DBAs
Rating: 2 or 4 (see review for details)
Reviewer: Ian Stirk

This book aims to help you pass the Azure Relational Database exam DP-300, how does it fare?



Lean DevOps

Author: Robert Benefield
Publisher: Addison-Wesley
Pages: 368
ISBN: 978-0133847505
Print:  0133847500
Kindle: B0B126ST43
Audience: Managers of devops teams
Rating: 3 for developers, 4.5 for managers
Reviewer: Kay Ewbank

The problem this book sets out to address is that of how to deliver on-demand se [ ... ]


More Reviews

 

Last Updated ( Saturday, 29 January 2022 )