Programming Rust: Fast, Safe Systems Development

Programming Rust: Fast, Safe Systems Development

  • Downloads:9085
  • Type:Epub+TxT+PDF+Mobi
  • Create Date:2021-06-20 09:30:56
  • Update Date:2025-09-06
  • Status:finish
  • Author:Jim Blandy
  • ISBN:B0979PWD4Z
  • Environment:PC/Android/iPhone/iPad/Kindle

Summary

This practical book introduces systems programmers to Rust, the new and cutting-edge language。 You'll learn how Rust offers the rare and valuable combination of statically verified memory safety and low-level control--imagine C++, but without dangling pointers, null pointer dereferences, leaks, or buffer overruns。

Author Jim Blandy--a former maintainer of GNU Emacs and GNU Guile--demonstrates how Rust has the potential to be the first usable programming language that brings the benefits of an expressive modern type system to systems programming。 Rust's rules for borrowing, mutability, ownership, and moves versus copies will be unfamiliar to most systems programmers, but they're key to Rust's unique advantages。

This book presents Rust's rules clearly and economically; elaborates on their consequences; and shows you how to express the programs you want to write in terms that Rust can prove are free of broad classes of everyday errors。

Download

Reviews

Max

This is an excellent introduction for prospective Rust developers coming from C++ (that's not a requirement, but such a background will make it easier to digest some portions)。 Explanations are generally quite thorough: The authors make a point of discussing in detail how data structures are mapped to memory and this made many things click for me。 This is an excellent introduction for prospective Rust developers coming from C++ (that's not a requirement, but such a background will make it easier to digest some portions)。 Explanations are generally quite thorough: The authors make a point of discussing in detail how data structures are mapped to memory and this made many things click for me。 。。。more

Andrew Shulaev

I've skimmed/skipped some of the later chapters because I thought that they were quite boring, but overall it's a solid book and I've enjoyed reading it。 I've skimmed/skipped some of the later chapters because I thought that they were quite boring, but overall it's a solid book and I've enjoyed reading it。 。。。more

Graham Holtslander

Absolutely fantastic introduction and guide for Rust。 I had tried other resources for learning Rust but this one was the most effective for me。 I likely need to go through it again, but I will wait for the second edition which is supposed to come out this year!

Saleh Rahimzadeh

A complete reference for Rust with detailed descriptions。

Frank D

Very well organized presentation of the materials。 A bit of a reference manual which for a first book on the topic creates a bit of a climb of learning the material。 I stopped reading for 3 months while I read The Rust Programming Language by Carol Nichols。 That was an easier first read on the language。

Alper Çuğun

A huge book that covers all the ground but unfortunately is extremely thorough in certain areas that are not very interesting (the language reference stuff) and glosses over the parts such as systems programming which people new to Rust and the area may have the most trouble with。The question then is: What would be a good introduction into systems programming and is it up to a book like this to provide it? I think that if you claim that Rust is the prime language for that style of programming, y A huge book that covers all the ground but unfortunately is extremely thorough in certain areas that are not very interesting (the language reference stuff) and glosses over the parts such as systems programming which people new to Rust and the area may have the most trouble with。The question then is: What would be a good introduction into systems programming and is it up to a book like this to provide it? I think that if you claim that Rust is the prime language for that style of programming, you should provide more of an introduction to it and point people to further reading if they want to get deeper into it。 。。。more

Isak Ba

It even mentions Elon Musk。

Imp

Really helped me a lot in understanding Rust not just as a language, but as a cohesive set of terms, and helped me a lot in completing my Bachelor's thesis。 Really helped me a lot in understanding Rust not just as a language, but as a cohesive set of terms, and helped me a lot in completing my Bachelor's thesis。 。。。more

Larry

Good introduction。 I am moving ahead as I do not have the chance to implement day to dat yet。 Python still rules my daily bits。

Willian Molinari

I'm migrating all my reviews to my blog。 If you want to read the full review with my raw notes, check it here: https://pothix。com/programmingrust/There are many things I like about this book。 The first is the comparisons with C and C++ since both authors are/were C/C++ developers。 This kind of experience helps you understand how Rust is useful and what practical problems it's actually solving。 I always hear about the theory, but the practical examples are gold。 I'm migrating all my reviews to my blog。 If you want to read the full review with my raw notes, check it here: https://pothix。com/programmingrust/There are many things I like about this book。 The first is the comparisons with C and C++ since both authors are/were C/C++ developers。 This kind of experience helps you understand how Rust is useful and what practical problems it's actually solving。 I always hear about the theory, but the practical examples are gold。 。。。more

Marin

Excellent in explaining iterators, lifetimes, utility traits, deref coercions。。。 all things that really help you to get a proper grasp of how to use Rust。 For me, Rust's rules seemed simple enough at first, but understanding how to decode what compiler type errors are really saying about generic type constraints - and how to elegantly solve such problems - was the most engaging regular challenge in working with the language that this book really helped with。Written with a certain precision and n Excellent in explaining iterators, lifetimes, utility traits, deref coercions。。。 all things that really help you to get a proper grasp of how to use Rust。 For me, Rust's rules seemed simple enough at first, but understanding how to decode what compiler type errors are really saying about generic type constraints - and how to elegantly solve such problems - was the most engaging regular challenge in working with the language that this book really helped with。Written with a certain precision and not overly verbose despite its 500+ pages, it kept me continuously interested。 The authors sometimes employ subtle humor in the examples and phrasing that I found occasionally hilarious。 I enjoyed reading it cover-to-cover, and referring to it later。Rust is a continuously evolving landscape, and new constructs have made their way into the language since the time of writing, but most are peripheral enough that simply reading up about them separately is enough (like async/await)。 Some are hinted at in the text (impl keyword) before they stabilized。 Some are mentioned as a good workaround available as an external crate (error_chain) that have evolved (failure) but are not yet finished。 The most important parts are unlikely to change radically, though, and this text explains how and (importantly) when to leverage these tools to write pleasant software。 。。。more

Gustavo

Great book covering the basics of the language with simple examples and advances like Unsafe Rust。

Dave Cheney

A thorough overview of this hair shirt programming language。

Jean

A great resource that takes you from the Rust syntax, its type system, the borrow checker, all the way to “unsafe Rust”, and everything in between。The examples are clear and to the point, already explained concepts are briefly reiterated at strategic points throughout the book, and it is clear the authors have in-depth knowledge on both C and Rust, allowing them to clearly explain both the similarities and differences between the two。As a developer who has only worked with higher-level languages A great resource that takes you from the Rust syntax, its type system, the borrow checker, all the way to “unsafe Rust”, and everything in between。The examples are clear and to the point, already explained concepts are briefly reiterated at strategic points throughout the book, and it is clear the authors have in-depth knowledge on both C and Rust, allowing them to clearly explain both the similarities and differences between the two。As a developer who has only worked with higher-level languages before, I’ve come away not only learning Rust, but also with a deeper understanding of systems programming, memory layout, CPU caching, and more。Reading this book has given me a thirst for more knowledge on functional programming and learning other lower-level languages such as C and C++, if only to get a deeper understanding on why Rust exists, and to validate my belief that learning Rust is an investment into the future of systems programming。Well worth the read。 。。。more

FleshyShowoff

Not really a book to learn Rust from, best viewed as a reference book。 It lacks exercises and I didn't really like the order in which it presented material。It also assumes a person very comfortable with programming, often comparing Rust to C, C++, Python, and others to make a point。OTOH it does seem like a very complete treatment。 Not really a book to learn Rust from, best viewed as a reference book。 It lacks exercises and I didn't really like the order in which it presented material。It also assumes a person very comfortable with programming, often comparing Rust to C, C++, Python, and others to make a point。OTOH it does seem like a very complete treatment。 。。。more

Marko Kunic

If only I started my pet project after this book I could have saved hours。 Awesome book with great examples, you have to read this if you are interested in Rust。

Kyle Strand

Perfect for C/C++ programmers ready to learn something。。。well, better。My favorite quote about why it is important to develop better programming languages rather than merely continuously adding new features to old ones is used as one of the chapter epigraphs (credited to Mark Miller): "Libraries cannot provide new inabilities。" Perfect for C/C++ programmers ready to learn something。。。well, better。My favorite quote about why it is important to develop better programming languages rather than merely continuously adding new features to old ones is used as one of the chapter epigraphs (credited to Mark Miller): "Libraries cannot provide new inabilities。" 。。。more

Krzysztof Hrynczenko

Concise book that works more as a reference than a tutorial。 I highly recommend it, especially if you come from a C++。 Its only downside is it is little outdated so some newer features and mechanics of the language might not be present。

Тим

Nice and concise overview of the complex language, I enjoyed reading it and would also keep it as a reference that has got more detailed explanation than, e。g。 Rust book。

Jesse Malinosky

Very comprehensive。 As someone who has written a good bit of rust, "Programming Rust" filled in a lot of my knowledge gaps regarding the standard library。 Very comprehensive。 As someone who has written a good bit of rust, "Programming Rust" filled in a lot of my knowledge gaps regarding the standard library。 。。。more

Madhukara

Really good book to start learning rust。

Jeremy Huiskamp

I read this out of academic interest, without much time to actually practice coding in rust。With the exception of a few parts that dove deep into api trivia (mostly about strings), the whole thing was engaging and easy to read。 The explanations of the language features were very clear and felt complete。 If I did start programming in rust, while I would obviously still spend a lot of time coming to grips with its complexities, I feel that this book pointed me in the right direction to figure it o I read this out of academic interest, without much time to actually practice coding in rust。With the exception of a few parts that dove deep into api trivia (mostly about strings), the whole thing was engaging and easy to read。 The explanations of the language features were very clear and felt complete。 If I did start programming in rust, while I would obviously still spend a lot of time coming to grips with its complexities, I feel that this book pointed me in the right direction to figure it out。I learned exactly what I was hoping to learn: what level of language complexity and expressive restriction is required to produce a memory safe language without a garbage collector, and what additional features (concurrency safety) come with it。 。。。more

Michael Richardson

A reasonable introduction to a language that I wish we had in 1985。I have yet to use Rust: I feel it might be too big for embedded systems and building operating systems。 Perfect sized for Firefox, I imagine。

Daniel Gill

This was an exceptionally capable introduction to a very clever programming language。 This book is probably intended and best utilized as a reference work, but I found it very profitable to read it cover to cover, and I think anyone learning Rust for the first time will be well served reading the vast majority of this book—really only the final two chapters seem optional, touching on language features (macros & unsafe code) I suspect you'll be able to go without for a while before needing。 And a This was an exceptionally capable introduction to a very clever programming language。 This book is probably intended and best utilized as a reference work, but I found it very profitable to read it cover to cover, and I think anyone learning Rust for the first time will be well served reading the vast majority of this book—really only the final two chapters seem optional, touching on language features (macros & unsafe code) I suspect you'll be able to go without for a while before needing。 And after all, when you do finally need to utilize those aspects of the language, this book will waiting for you。 。。。more

Lennart

It's a good introduction to Rust。 It goes through the language well and introduces the main concepts and the features that makes Rust unique。 A also very much liked that the book gives some insight into best practises and things you might not have found yourself in the online documentation。It is just an introduction though, covering the basics。 Some things are covered briefly, like how concurrency is done, and Rust's take at the concurrency primitives。 Other things are discussed in needless deta It's a good introduction to Rust。 It goes through the language well and introduces the main concepts and the features that makes Rust unique。 A also very much liked that the book gives some insight into best practises and things you might not have found yourself in the online documentation。It is just an introduction though, covering the basics。 Some things are covered briefly, like how concurrency is done, and Rust's take at the concurrency primitives。 Other things are discussed in needless detail, like going through for each of the collection modules HashMap, Vector, etc, the 。insert(。。) method which of course behave exactly the same for all collections。 Mentioning it once would have been enough - save the pages for more interesting topics。The book covers enough ground to be a good introduction。 I do feel like I've got a much better understanding of how the language works。 I also got an understanding of how the common tools work, like how to compile and run the code。Though of course some things will only be learned by using the language for some time。I do recommend the book as an introduction。 。。。more

Yan

I book I wish I had when rust-lang hit 1。0。

Julio Biason

First off, this is not a book for learning Rust: This is a Reference Book。 A good one at it, but not for learning。My inclination to learn Rust is how it deals with errors (it's Result enum), something that most languages seem to drop out of context or accept some "catch all" which let developers ignore such errors。 Rust doesn't; you have to deal with errors。And, in such small thing, which I thought it was very simple and straightforward。。。 is not。 The Err part can be very complex, specially if y First off, this is not a book for learning Rust: This is a Reference Book。 A good one at it, but not for learning。My inclination to learn Rust is how it deals with errors (it's Result enum), something that most languages seem to drop out of context or accept some "catch all" which let developers ignore such errors。 Rust doesn't; you have to deal with errors。And, in such small thing, which I thought it was very simple and straightforward。。。 is not。 The Err part can be very complex, specially if you want to keep in line with the rest of the system。 Which is good。Although a good book, it's not great。 The explanation for generics is very convoluted and complex and doesn't help grasping the whole context -- maybe it's easier if you're already working with a language that has generics。 And then, when you are almost getting how they work, they throw lifetimes in it and the confusion grows。 Several topics are started and then become "beyond the scope of this book"。 So it just brushes some pointers at it and then completely forget about it。 I, personally, would drop some of those -- it could mention that they exist -- and expanding for not being "beyond the scope of this book"。 。。。more

Stein Karlsen

Great book to introduce concepts and parts of the standard library。 Will use to look back at concepts later

David Castillo

I started reading this book out of curiosity but started a personal project shortly after and it helped a lot to get up and running。Rust is a very different language from the ones I'm used to, and so it was not enough to read a short tutorial on it to grasp the basics。 Programming Rust does a great job in describing the language at different levels: its philosophy, its syntax, its type system, its famous memory ownership model, and even how many things are represented in memory。 Because of that, I started reading this book out of curiosity but started a personal project shortly after and it helped a lot to get up and running。Rust is a very different language from the ones I'm used to, and so it was not enough to read a short tutorial on it to grasp the basics。 Programming Rust does a great job in describing the language at different levels: its philosophy, its syntax, its type system, its famous memory ownership model, and even how many things are represented in memory。 Because of that, it can be read in many different ways, and I really appreciate that。The only thing I didn't enjoy was the constant and plentiful comparisons with C++, as I'm not a C++ developer。 If you are, I guess they will help。During the development of my project, I've also run into other problems like error handling and telling idiomatic code from code that isn't, but I guess those patterns and conventions are not really the book's focus, and that's ok。All in all this book was great for wrapping my mind around Rust's exotic bits, and I'd recommend it if you'd like to start a project using Rust。 。。。more

Sebastian Gebski

I'm truly impressed - this is a one-stop-shop for learning Rust。 Period。Very detailed, comprehensive & descriptive, not easy to grok through, but helps you truly embrace what's behind syntactical constructions that may seem simple, but have a lot of depth to offer (in fact)。It's not the kind of book you're read end-to-end on one go。 More like a reference manual you'll keep getting back to each time you reach a higher experience level。 I've tried to find any significant flaws that are worth menti I'm truly impressed - this is a one-stop-shop for learning Rust。 Period。Very detailed, comprehensive & descriptive, not easy to grok through, but helps you truly embrace what's behind syntactical constructions that may seem simple, but have a lot of depth to offer (in fact)。It's not the kind of book you're read end-to-end on one go。 More like a reference manual you'll keep getting back to each time you reach a higher experience level。 I've tried to find any significant flaws that are worth mentioning, but 。。。 I didn't found any - this book seemed to perfectly fit my expectations: I had more in-depth analysis when I needed it, I had graphics & pictures when I needed them, I had more examples exactly when I needed them (as well)。 I haven't read such a good technical book in several months。Strongly recommended for all Rust (& system programming in general) fans (current & futures ones as well ;>)。 。。。more