Goodreads helps you keep track of books you want to read.
Start by marking “The Rust Programming Language” as Want to Read:
The Rust Programming Language
Enlarge cover
Rate this book
Clear rating
Open Preview

The Rust Programming Language

by
4.43  ·  Rating details ·  650 ratings  ·  76 reviews
The Rust Programming Language is the official book on Rust, an open-source, community-developed systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. This is the undisputed go-to guide to Rust, written by two members of the Rust core team, with feedback and contributions from 42 members of the community. The book assumes t ...more
Kindle Edition, 552 pages
Published July 10th 2018 by No Starch Press
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.
This book is not yet featured on Listopia. Add this book to your favorite list »

Community Reviews

Showing 1-30
Average rating 4.43  · 
Rating details
 ·  650 ratings  ·  76 reviews


More filters
 | 
Sort order
Start your review of The Rust Programming Language
Bill de hÓra
Dec 15, 2018 rated it really liked it  ·  review of another edition
(book also online at https://doc.rust-lang.org/book). If you’re looking to learn or explore Rust, this is the book to start with. The book works through the language feature area by feature area, with minimally sized code snippets - the focus is on explanation through the text instead of reams of code. Instead, much of the technical content that the authors use for teaching purposes are compiler error messages, which cleverly leverages one of the language’s best features, and one programmers wil ...more
Nick Black
as i postpended to my review of The C Programming Language, after twenty years of writing C and C++ professionally and ten years' amateur work prior, i have adopted Rust, and thus the first language i've found that is all of (1) generally applicable to my kind of systems+numerical programming, (2) superior to C, and (3) superior to C++ (i consider the two to be only weakly ordered). i expect to use it for the next thirty years or so. this is a solid introduction to Rust, but lacks the sublime. ...more
Jindřich Mynarz
I have no plans to write Rust, yet I appreciated the book. Its clarity of writing is exceptional and the Rust's concepts are introduced in an instructive way. Even as a person who develops in more declarative, higher-level, dynamic, and garbage-collected languages I found the book useful as its explains many of the underlying low-level aspects of computing, such as reference counting.

Rust follows the principle of "zero-cost abstraction", where the cost means performance cost, which is obviously
...more
Sebastian Gebski
*** Important. This is the review of the 2nd Edition - a complete re-write of the original book ***

Disclaimer #1: You can read the book here: https://doc.rust-lang.org/book/ - for free. I've reviewed the Kindle version by NoStarchPress.
Disclaimer #2: I was familiar with Rust before reading the book, so for me it was just a great opportunity to review the syntax, idioms, etc.

This book "implements" my favorite approach to teaching programming languages - it's not a dry review of syntax, but also i
...more
Ricardo Signes
It's a totally decent book to explain the basics of Rust. I like Rust. Rust might be a big deal, but this book isn't an amazing piece of technical writing. It's just good. ...more
David Wheeler
Jan 05, 2020 rated it really liked it
A very nice, engaging, and well-written introduction to the language. My only request for a future version is a chapter on futures, async, and asyn_await, which I have a hard time understanding, but seem to be the future of concurrent programming with Rust. I expect it’ll come in the future, though it might need its own book, too.

I only have that complaint because I’ve done enough poking at Rust to know about it; anyone unfamiliar with the development of futures won’t miss it here, and find it a
...more
Charlie
Sep 15, 2020 rated it it was amazing  ·  review of another edition
a must-read introduction to rust. this book contains concise yet thorough explanations of features unique to rust. the writing is excellent and the complexity of the examples is "just right". and it's freely available!

i'd say it does assume both prior coding experience and a little computer architecture knowledge (e.g. stack vs. heap, pointers, etc.), so a complete beginner might struggle to follow. that said, rust itself is probably not the ideal first programming language.

learning rust definit
...more
Matt
Nov 12, 2019 rated it it was amazing  ·  review of another edition
I thought this was a great way to get into Rust. The examples are good and the explanations are clear.
David
Feb 08, 2020 rated it it was amazing  ·  review of another edition
Pretty typical programming language intro book. It’s well written and thorough — enough to be a useful reference later on.
Dmitry Klionsky
Mar 26, 2020 rated it it was amazing  ·  review of another edition
Very approachable! I also recommend the authors' 'Rust in Motion' course https://www.manning.com/livevideo/rus... before reading the book ...more
Dana Larose
A very good introduction to Rust, a programming language which, after reading the book, I am pretty sure I am too dumb to ever be any good at. The explanations were clear but several concepts I still don't quite get. Lifetimes, for instance, and Rust's implementations of closures. But I think that's me being thick-headed not the book being unclear.

I feel like the current version (as of January 2020) is a little bit out of date because the Rust community is making a big deal out of async/await be
...more
Marko Kunic
Jan 28, 2019 rated it it was amazing  ·  review of another edition
The best introduction to a new language I ever saw. I tried learning a lot of new languages in the past few years but this is the only one I actually enjoyed. This book is amazing, wanna learn rust? Start here.
John Faucett
I'm sure its hard to write a book about a whole programming language - especially one as complicated as rust, where you also don't know the skill levels of all the potential readers. And I think the author does a decent job managing all of this. The book will teach you the basics of rust and give you a glimpse into some of the things you can accomplish. It will not get you to a point where you can develop production software in rust - you will still need to read up all the docs and explore libra ...more
Sebastian Gebski
The best Rust reference book I know.
I've re-read the latest version (the one that covers Rust 2018) & it's still stellar - easy to understand (even more tricky topics - like lifetimes or traits), concise, illustrated with good code samples.
It's already a bit outdated (async-await support is not present), but still - it's the most up-to-date book resource available.

What I didn't like? NoStarch has provided no option to upgrade the previous edition. And they didn't answer my inquiries. I've read 2
...more
Jon Ureña
Aug 14, 2019 rated it it was amazing  ·  review of another edition
If you are like me, you might occasionally remember that you are a programmer by trade, and you might have come up with some cool game idea that might be generally classified as a roguelike or half-assed clone of "Dwarf Fortress". In those instances you might want to look into which programming languages are currently in vogue.

You need a different programming language depending of what you intend to do, because every language limits you in some way or another. If you want to get something done
...more
Adam Adair
Dec 31, 2020 rated it liked it  ·  review of another edition
Recommends it for: Masochistic programmers
I heard good things about the Rust programming language, so I set about learning it. Rust has been voted the "most loved programming language" in the Stack Overflow Developer Survey every year since 2016. However, Rust is only 10 years old, so this fact seems suspicious. Dig a little deeper and you'll find out that despite developers' positive feelings toward Rust, 97% of them hadn't actually used it.

I have a personal system for learning programming languages, and it involves using a mix of boo
...more
Clara
Jan 08, 2021 rated it really liked it  ·  review of another edition
Dropped this around ch5 when life got way too hectic. Tried to pick it up again two moves later, but it's not as useful to me right now as books on C. It probably never will be, given the relative rates of adoption.

Even so, I hope to return to it. A lot of time is spent on explaining quirks of the language like ownership, which revolve around ensuring memory safety without garbage collection. While these concepts are explained clearly enough to approach as a dedicated beginner, this book is prob
...more
Viet Nguyen
This is a gentle introduction to the Rust Programming Language. Each chapter presents a feature in Rust in an easy to understand way. The code example is concise enough and to the point; I was able to type, compile and watch the compiler errors for most of the examples. The book carefully explains what each compiler error or warning means, and I haven't seen any mismatch between my own run and the book's compiler output. That makes a nice learning experience. I especially like the two projects i ...more
Arion Roberto Krause
Rust is an incredible programming language, albeit a very complex (read "well built") one.

Compile-time safety and concurrency guarantees come at a cost but are extremely powerful. So is the concept of ownership and borrowing, which are game-changing techniques that are quite unique of Rust.

After the rather steep initial learning curve, it pays off. Greatly.

The community is also very welcoming to beginners. Rustaceans, as they identify themselves, are usually eager to help newcomers to the langua
...more
Christian Brevik
I rarely, if ever, finish books about programming. Or development in general for that matter.

Normally I get bored halfway through and run off trying to learn stuff on my own. But this book.. this is how you write a good book about learning a programming language.

The book is structured in such a way that chapters are short enough to explain concepts about the language without wasting too many words. And still manages to build upon those concepts, chapter to chapter, to give a more complete pictu
...more
Warren Mcpherson
An intermediate introduction to the Rust programming language and the features that give it an advantage in concurrent, high-performance systems. The language reminds me of C and I can understand why people seem to love it so much. (But I'm still not sure if it's a bit of a cargo cult.) Some things seem a bit awkward, string handling in particular. I think it helps to have enough experience in the domain because specifying variable types and lifetimes will seem cumbersome to many.
The book spends
...more
Bruno Rucy
Jun 23, 2020 rated it really liked it  ·  review of another edition
The book is pretty good, but rather odd.

It's somewhat in between a language and a standard library reference book, which can make it a little frustrating to read.

An example of that is how it pretty much covers all of Rust's constructs and keywords with varying degrees of depth. It unfortunately spends only a single chapter going deep into the borrow checker, which was not very helpful and didn't really save me from code golfing with the compiler in order to truly understand it.

It'd be cool if m
...more
Emil Petersen
I think Rust provides a neat and sensible way of dealing with issues that frequently arise in standard programming languages. The main novel advantage seems to be the borrowing system that provides checks at compile-time to ensure that you do not access memory/variables that has changed without you knowing, or even allowing. This book is a great introduction to the language and it's features, and it becomes very convincing if you start looking at a few rust projects alongside.

That being said, th
...more
Ian
May 26, 2019 rated it it was amazing  ·  review of another edition
Very clear and concise. This is especially important for someone like me who is used to programming in JavaScript, PHP, and Python. I've never given much thought to the Heap or Stack, so the gentle introduction to these concepts helped immensely as I moved onto more complex topics.

Would I say I understand Rust at least on a basic level after reading this book? Yes.

Anything beyond that will require I get my hands dirty and build something on my own.

The compiler is truly fantastic at telling you
...more
Justin
Aug 10, 2019 rated it really liked it  ·  review of another edition
It's a well organized and moderately deep book overall. After some chapters I was left with questions which were generally answered in later chapters. I don't feel like I could program GREP from scratch, and I'm beginning to think the correct way would be to try exercises and tutorials first - I didn't.

The language is amazing, the compiler is surprisingly helpful, which I have never experienced before, and the tooling is very useful too. If you are a JavaScript developer like me, and you are lo
...more
An
May 26, 2019 rated it it was amazing  ·  review of another edition
Shelves: programming
Initially, I thought the book leaned towards examples and simplified explanations too much. But it's actually the case that until you start programming in Rust, you don't fully appreciate all the implications of the apparently simple explanations. For languages like C# and Java I've always preferred reading something that's closer to a presentation of specifications, something like "hey here's a long list of all the features of the language". For Rust, leaning a bit more towards extra human read ...more
Erik
Sep 28, 2019 rated it it was amazing  ·  review of another edition
This book will teach you the Rust programming language.

You can always learn a new language by doing a few tutorials, reading some code online or just start to program and figure out each little piece of it as you go along.

I’m sure that’s also possible with Rust. I’m also sure that there’s a good chance you’ll just curse that borrow checker and go back to programming whatever language you already knew.

To avoid this, just take your time and first read this book from start to end. You will know t
...more
Ward
Jul 24, 2018 rated it really liked it  ·  review of another edition
I read the "living version" via https://doc.rust-lang.org/nightly/book/ in June&July 2018.

Had dabbled some in Rust a year or two ago. At the time I found the book not always very good and never completely finished it. Got distracted, but still longed to give Rust a better try. Decided it was time to do so and grabbed the book again. I believe it has improved a lot since those early days. The book tries its best to explain the weird intricacies of Rust's approach and does a decent job. If you are
...more
Gerry
Feb 18, 2019 rated it it was amazing  ·  review of another edition
Well written and clear introduction to the Rust programming language. I used this book over the last few months to teach myself about Rust. The Rust tooling is great and it's nice to see a modern take on C. Rust has many benefits but I find it does come at a cost of complexity. Even after reading this book I still had to look up the idiomatic way of performing what I would consider simple tasks. The books is great to place to start but you'll need something more to really become proficient in Ru ...more
Marcelo Boeira
Apr 27, 2019 rated it really liked it  ·  review of another edition
Good general overview of the language, the first chapters are well written and contain examples and concepts that help to understand the abstractions of the language.
Throughout the book this changes, latter chapters do not accomplish this task, with smaller and less meaningful explanations and examples.

Nevertheless, the book came in utterly handy to clarify some of my biggest rust misconceptions.

One highlight is that, given the book was written by the community that creates rust, is good to sa
...more
« previous 1 3 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Programming Rust: Fast, Safe Systems Development
  • The Go Programming Language
  • The Pragmatic Programmer: From Journeyman to Master
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Building Microservices: Designing Fine-Grained Systems
  • Effective Java
  • The C Programming Language
  • A Tour of C++
  • Rust in Action
  • Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People
  • Game Programming Patterns
  • Designing Data-Intensive Applications
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • The Linux Command Line
  • Software Engineering at Google: Lessons Learned from Programming Over Time
  • Code Complete
  • Java Concurrency in Practice
  • Head First Design Patterns
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »

News & Interviews

  As dedicated readers already know, some of the best and most innovative stories on the shelves come from the constantly evolving realm of...
39 likes · 8 comments
“Inheritance has recently fallen out of favor as a programming design solution in many programming languages because it’s often at risk of sharing more code than necessary. Subclasses shouldn’t always share all characteristics of their parent class but will do so with inheritance. This can make a program’s design less flexible. It also introduces the possibility of calling methods on subclasses that don’t make sense or that cause errors because the methods don’t apply to the subclass. In addition, some languages will only allow a subclass to inherit from one class, further restricting the flexibility of a program’s design.

For these reasons, Rust takes a different approach, using trait objects instead of inheritance.”
1 likes
“Rust’s central feature is ownership. Although the feature is straightforward to explain, it has deep implications for the rest of the language.

All programs have to manage the way they use a computer’s memory while running. Some languages have garbage collection that constantly looks for no longer used memory as the program runs; in other languages, the programmer must explicitly allocate and free the memory. Rust uses a third approach: memory is managed through a system of ownership with a set of rules that the compiler checks at compile time. None of the ownership features slow down your program while it’s running.”
1 likes
More quotes…