Buy new:
-8% $55.01$55.01
$3.99 delivery July 5 - 8
Ships from: Orangeworld LLC Sold by: Orangeworld LLC
Save with Used - Very Good
$26.70$26.70
Ships from: Amazon Sold by: Carta Diem
Return this item for free
We offer easy, convenient returns with at least one free return option: no shipping charges. All returns must comply with our returns policy.
Learn more about free returns.- Go to your orders and start the return
- Select your preferred free shipping option
- Drop off and leave!

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Programming Rust: Fast, Safe Systems Development 1st Edition
Purchase options and add-ons
Rust is a new systems programming language that combines the performance and low-level control of C and C++ with memory safety and thread safety. Rust’s modern, flexible types ensure your program is free of null pointer dereferences, double frees, dangling pointers, and similar bugs, all at compile time, without runtime overhead. In multi-threaded code, Rust catches data races at compile time, making concurrency much easier to use.
Written by two experienced systems programmers, this book explains how Rust manages to bridge the gap between performance and safety, and how you can take advantage of it. Topics include:
- How Rust represents values in memory (with diagrams)
- Complete explanations of ownership, moves, borrows, and lifetimes
- Cargo, rustdoc, unit tests, and how to publish your code on crates.io, Rust’s public package repository
- High-level features like generic code, closures, collections, and iterators that make Rust productive and flexible
- Concurrency in Rust: threads, mutexes, channels, and atomics, all much safer to use than in C or C++
- Unsafe code, and how to preserve the integrity of ordinary code that uses it
- Extended examples illustrating how pieces of the language fit together
- ISBN-101491927283
- ISBN-13978-1491927281
- Edition1st
- PublisherO'Reilly Media
- Publication dateJanuary 2, 2018
- LanguageEnglish
- Dimensions7 x 1.25 x 9.19 inches
- Print length622 pages
There is a newer edition of this item:
Frequently bought together

Customers who viewed this item also viewed
From the Publisher

From the Preface
Rust is a language for systems programming.
This bears some explanation these days, as systems programming is unfamiliar to most working programmers. Yet it underlies everything we do.
You close your laptop. The operating system detects this, suspends all the running programs, turns off the screen, and puts the computer to sleep. Later, you open the laptop: the screen and other components are powered up again, and each program is able to pick up where it left off. We take this for granted. But systems programmers wrote a lot of code to make that happen.
This book will not teach you systems programming. In fact, this book covers many details of memory management that might seem unnecessarily abstruse at first, if you haven’t already done some systems programming on your own. But if you are a seasoned systems programmer, you’ll find that Rust is something exceptional: a new tool that eliminates major, well-understood problems that have plagued a whole industry for decades.
Who should read this book
If you’re already a systems programmer, and you’re ready for an alternative to C++, this book is for you.
If you’re an experienced developer in any programming language, whether that’s C#, Java, Python, JavaScript, or something else, this book is for you too. However, you don’t just need to learn Rust. To get the most out of the language, you also need to gain some experience with systems programming. We recommend reading this book while also implementing some systems programming side projects in Rust. Build something you’ve never built before, something that takes advantage of Rust’s speed, concurrency, and safety. The areas listed above should give you some ideas.
Systems programming is for:
- operating systems
- device drivers of all kinds
- filesystems
- databases
- networking
- cryptography
- media codecs
- media processing
- memory management
- text rendering
- virtualization and software containers
- scientific simulations
- games
Editorial Reviews
About the Author
Jason Orendorff hacks C++ for Mozilla, where he is module owner of the JavaScript engine that's in Firefox. He is an active member of the Nashville developer community and an occasional organizer of homegrown tech events. He is interested in grammar, baking, time travel, and helping people learn about complicated topics.
Product details
- Publisher : O'Reilly Media
- Publication date : January 2, 2018
- Edition : 1st
- Language : English
- Print length : 622 pages
- ISBN-10 : 1491927283
- ISBN-13 : 978-1491927281
- Item Weight : 2.16 pounds
- Dimensions : 7 x 1.25 x 9.19 inches
- Best Sellers Rank: #1,835,852 in Books (See Top 100 in Books)
- #100 in Object-Oriented Software Design
- #1,514 in Computer Programming Languages
- #1,964 in Microsoft Programming (Books)
- Customer Reviews:
About the author

Jim Blandy has spent his career working on Free and Open Source software. He has been a maintainer of GNU Emacs, GNU Guile, the GNU debugger (GDB), and was one of the original designers of the Subversion version control system. Since 2008 he has been working at Mozilla on Firefox's JavaScript implementation, developer tools, and graphics. Together with Jason Orendorff and Leonora Tindall, he is a co-author of the book Programming Rust, published by O'Reilly.
Jim lives in Portland, Oregon. He enjoys playing piano, learning Japanese, and hiking with his family and dogs.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonCustomers say
Customers appreciate the book's writing style, with thorough explanations of every aspect of the language and comprehensive content without being exhaustive. Moreover, the book serves as a great introduction to Rust, with well-organized content that provides in-depth explanations of everything. Additionally, they value its programming knowledge, with one customer noting its promise in modernizing systems programming, and find it worth the price.
AI Generated from the text of customer reviews
Customers appreciate the writing style of the book, which provides thorough explanations of every aspect of the language while remaining comprehensive without being exhaustive.
"...It's most excellent so far, combining a rare mix of a readable, conversational style with a coherent organization and meticulous accuracy both in..." Read more
"...Written in a clear, readable style that favors clarity and accuracy over conciseness or cleverness, it is an excellent guide to the language as it..." Read more
"...reading the online documentation, but found the explanations in this book far more approachable, especially on the Rust-unique topics of lifetimes,..." Read more
"...The text is comprehensive without being exhaustive. The examples are well-designed, and the concepts they embody carefully explained...." Read more
Customers find this Rust book to be a great introduction to the language, with one customer noting it is well organized for learning and another mentioning it serves as a must-read for those interested in Rust programming.
"...by a couple of people with a depth of history with Rust and with a long history in other serious systems programming..." Read more
"This an excellent, through guide to programming in Rust. It explains not only how Rust's unique compiler works but WHY it works the way it does...." Read more
"...this book do I feel like I could successfully design and build a large application in Rust." Read more
"...to show my gratitude for this amazing book - it really helped deepen my understanding of Rust...." Read more
Customers appreciate the book's well-organized structure and in-depth explanations of topics, with one customer specifically noting how the understanding of memory layout provides valuable context.
"...a rare mix of a readable, conversational style with a coherent organization and meticulous accuracy both in the detail and in the conceptual, by a..." Read more
"...appreciate that this book consistently provides important insights, details, and in-depth discussions of some topics that are simply too glossed-..." Read more
"...are behind-the-scenes details to some extent, understanding memory layout provides a lot of context to how some of these structures work,..." Read more
"...The examples are well-designed, and the concepts they embody carefully explained...." Read more
Customers appreciate the programming knowledge in the book, with one customer noting it has plenty of good code examples and another mentioning its long history in serious systems programming projects.
"...with a depth of history with Rust and with a long history in other serious systems programming projects...." Read more
"...[ASIN:1491946008 Fluent Python: Clear, Concise, and Effective Programming]..." Read more
"...Rust - a seriously impressive language that has a lot of promise at modernizing systems programming." Read more
"Best programming book I have read." Read more
Customers find the book worth its price.
"I loved the memory diagrams. They are probably worth the price of the book alone...." Read more
"...rehash of "The Book." The memory diagrams alone are worth the price of admission, and the detailed explanations of "how" it works..." Read more
"...only book I've pre-ordered in a long, long time, and it is more than worth it...." Read more
Reviews with images

Great book
Top reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on November 25, 2017I've just begun reading this book. It's quite readable (for a serious programming language book), by a couple of people with a depth of history with Rust and with a long history in other serious systems programming projects.
Earlier today I went looking for my first "Rust book", as Rust is at the top of my list as the next computer language that I want to learn. I started back in the 1970's with FORTRAN on CDC servers, and then with C inside Bell Labs on PDP 8's and 11's. Kernighan and Ritchie's original 1978 "C Programming Language" is the oldest "classic" language book on my shelf, which, like this Rust book, I purchased shortly after it was published.
Hopefully I will remember to return to this review, once I have gotten further into it. But so far, it's looking like a potential "classic."
Update #1: I've gotten a quarter of the way into the book. It's most excellent so far, combining a rare mix of a readable, conversational style with a coherent organization and meticulous accuracy both in the detail and in the conceptual, by a couple of authors who know their stuff, both Rust and systems programming. Unless the authors are the 1 in a 1000 who write polished prose in the first draft, there's the mark of some dang good editing here too.
Update #2: This book (at least the Kindle version I'm reading) lacks a Table of Contents, which I miss. The book is quite well organized, by chapter and subchapter, so I'm not sure why there is no Table of Contents. Perhaps the hardcopy edition will have such, but the "location" rather than "page number" positioning of a Kindle book makes a Table of Contents more difficult?
Update #3: Oops - sorry - there is a table of contents in the Kindle version. It doesn't appear as part of the inline text such as after the title and copyright pages, before the Introduction. Rather it's a special Kindle accessible table of contents (look for the 3 horizontal bar menu pull down icon, near the upper left), which you can access from any "page" in the book.
Update #4: Unlike Kernighan and Ritchie's original 1978 "C Programming Language" book, and unlike David Beazley's essential Python Essential Reference, Blandy's Programming Rust book is not the primary and essential language reference. In particular, the Index of Blandy's book is only about 15 pages, and I often find that a particular keyword for which I am looking is not in Blandy's Index. Beazley's far more thorough index is about 77 pages, for a similar sized book, of around 600 pages each. This reflects our changing times ... the world is online now, or at least Rust is. For example, over the last day, I was frustrated by my limited newbie understanding of the various string types in Rust (a rich and carefully thought out area of Rust), until I realized that searching in the online Rust documentation, doc.rust-lang.org for the language, library and tools, and in particular, for my particular questions of the moment, doc.rust-lang.org/std for Rust's standard library, was a much more rewarding way to learn what I needed to know next. (Yes, a 200 page book in 1978 could be a far more complete reference than a 600 page book today; the Rust of today is a far larger language than C was back in 1978.)
- Reviewed in the United States on February 18, 2018Format: PaperbackVerified PurchaseThis an excellent, through guide to programming in Rust. It explains not only how Rust's unique compiler works but WHY it works the way it does. It's sections on lifetimes and traits I would consider must-reads for any Rust developer. Written in a clear, readable style that favors clarity and accuracy over conciseness or cleverness, it is an excellent guide to the language as it stands and should serve as a reference for years to come.
This is one of the best language references I have seen, comparing favorably to Fluent Python: Clear, Concise, and Effective Programming and The Go Programming Language (Addison-Wesley Professional Computing Series) in it's ability to explain both the workings of the language in question and give a sense of that language's practical idioms and 'style'.
It's worth noting that the book assumes a high level of programming knowledge and gloss over parts of the language that work exactly like Rust's counterparts in the traditional C-style programming languages. This is welcome in a nearly 600-page tome, but may alienate some potential purchasers. If you don't have long-term programming experience in a language like Go, Python, Java, or preferably C/C++, this is not the book for you - at least not yet ;).
- Reviewed in the United States on February 3, 2021Format: PaperbackVerified PurchaseI loved the memory diagrams. They are probably worth the price of the book alone. There are also lots of one line gems that I have not seen anywhere else that were real eye openers for me. These are also worth the price of the book.
My main complaint is that pretty advanced things are used before they're explained, especially in the first few chapters. Normally we think of effective human learning as analogous to: crawl, walk, run. This book is more like: run, walk, crawl, run, walk.
Also there are a variety of topics that get explained piecemeal along the way, without getting called out as individual and important topics. For example, there's one section in the book that introduces lifetime concepts and issues, and it's not in a chapter called "lifetimes", and it's not even in a section called "lifetimes". If you didn't already have a good grasp of lifetimes, I think you'd be doing some pretty good head-scratching.
My advice: use other books or resources to learn to crawl, and walk, and then use this book when you are ready to run. At that point you will be able to appreciate the gems in this book without getting lost in the weeds.
update: I added another star. Although everything I said above is true, after a month of studying the language with other books and tools, I've come to appreciate that this book consistently provides important insights, details, and in-depth discussions of some topics that are simply too glossed-over in other texts.
Top reviews from other countries
- D.V JyothiReviewed in India on July 18, 2020
5.0 out of 5 stars nice
nice
- DavidReviewed in Australia on January 28, 2021
4.0 out of 5 stars Very comprehensive introduction to Rust
I have read about 50% of the book. So far I am very impressed. The authors write clearly and are easy to understand. If you want to understand how Rust works and use it effectively this book is a great starting point.
- A. P. ChallinorReviewed in the United Kingdom on March 16, 2018
5.0 out of 5 stars Excellent, well written book.
Excellent book. A joy to read and very informative.
FINALLY - I think I am getting the hang of borrowing and life times!
What it has done is make me think a lot more about the program at the design stage, rather than just diving in and picking up the pieces later on. I fear that Java/Eclipse might have lead me in to bad habits. This book is getting me back on track.
- Amazon CustomerReviewed in Canada on October 18, 2018
5.0 out of 5 stars This is an excellent book
Format: PaperbackVerified PurchaseNot only can it get you over the hump regarding RUST, it is instructive regarding contrasting implementations in other languages.
-
AnonymeReviewed in France on September 3, 2018
5.0 out of 5 stars Complet et précis
Format: PaperbackVerified PurchaseJe ne suis pas totalement novice en Rust, et ce livre donne des explications détaillées du langage, de son fonctionnement, et ce à travers des examples réalistes dont le code est disponible sur github.
Il y a une pointe d'humour qui est bienvenue dans les préfaces, et surtout, c'est bien écrit.
Les auteurs sont des contributeurs au langage, et sont vraiment au point sur le sujet.
Ce livre est parfait si vous voulez apprendre à maîtriser le Rust, en venant du C ou du C++. Je le conseille chaudement