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

4.38  ·  Rating details ·  385 ratings  ·  50 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 ...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.38  · 
Rating details
 ·  385 ratings  ·  50 reviews

More filters
Sort order
Start your review of The Rust Programming Language
Jan 22, 2018 rated it it was amazing  ·  review of another edition
"There is no sense in being precise when you have no idea what you're talking about" - John von Neumann poking fun at Rust's strictness.

Why do I care about learning Rust? I have decided, for reasons unknown even to myself, to major in computer engineering. I didn’t like it at first but its growing on me. That said, embedded software development has been dominated in recent years by two languages: C and C++. Despite this fact Stanford, looking to the future, has decided to have an operating
Bill de hÓra
Dec 15, 2018 rated it really liked it  ·  review of another edition
(book also online at 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 ...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
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.
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: - 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
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
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.
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.
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
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.
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
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 ...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
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
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
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
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
Jan 25, 2019 rated it it was amazing  ·  review of another edition
This book is a great way to learn Rust and all its fundamental concepts. I like how detailed and clear it is, and the fact that it contains so many examples and code snippets to help explain most of the concepts. At times it seemed to be more verbose than necessary, but I appreciate that the author was trying to remove all ambiguity and avoid misinterpretations. I actually think it's amazing that such great content is available to everyone for free (even though you can purchase a physical and ...more
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
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 ...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
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
Ward Muylaert
I read the "living version" via 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
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 ...more
Victor Quiroz castro
I loved how the book walked me through Rust! I'm still a newbie after reading it, and there are many concepts that I still struggle to get my head around, but I can read and write Rust now, and I can get started to write some stuff on my own or contribute in Rust projects.

If you need or want to learn Rust, this book is a must! Just keep in mind that many hours of practice are still needed to be a good Rustacean.
Jeremy Frens
Jul 19, 2019 rated it it was amazing
I was able to learn the language from reading this book and by using it as a reference as I fought with the language. The authors go into a little too much details at times for someone as experienced with me (e.g., I skimmed over a lot of the chapter on error handling), but I was able to pull out the knowledge I needed. My only real complaint was that there were a few too many exclamation points!
Nov 06, 2019 rated it really liked it  ·  review of another edition
Shelves: computer-related
This books is a great introduction to Rust. Some explanations are long-winded and tedious. Important topics like async/await, that were not in the language at the time of writing (2018 edition), but are there now, are naturally not covered.

Good thing the book is open source, in fact it's included with Rust if you install it using rustup, so anybody can contribute to the next edition.
May 28, 2017 rated it really liked it  ·  review of another edition
Great resource for the language, but here's a tip - read the second edition. As of now, the first edition is still the default one, so you'll have to search for the newer one. It's a massive improvement.
Aaron Hillegass
Dec 02, 2018 rated it it was amazing  ·  review of another edition
I'm pretty critical of books about computer programming, but this one is excellent. The only weak chapter was the one on object-oriented features of rust, which used a very awkward state machine example.

Overall: a clear, well-thought out introduction to the Rust language.
Aug 22, 2018 rated it really liked it  ·  review of another edition
The few complaints I have about some of the content being unclear can be directly attributed to the language itself still presenting a moving target, where sharp edges needed to be acknowledged and worked around but won't be present forever.
« previous 1 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
  • Building Microservices: Designing Fine-Grained Systems
  • The C Programming Language
  • Effective Java Programming Language Guide
  • Artificial Intelligence: A Guide for Thinking Humans
  • Designing Data-Intensive Applications
  • A Philosophy of Software Design
  • The Go Programming Language
  • You Don't Know JS: Up & Going
  • An Elegant Puzzle: Systems of Engineering Management
  • The Pragmatic Programmer: From Journeyman to Master
  • The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
  • Hacking: The Art of Exploitation
  • Learn You a Haskell for Great Good!
  • Head First Design Patterns
  • Coders at Work: Reflections on the Craft of Programming
  • Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction
  • The Clean Coder: A Code of Conduct for Professional Programmers
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
“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.”
“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.”
More quotes…