by Steve Klabnik and Carol Nichols, with contributions from the Rust Community. Welcome to The Rust Programming Language book! This version of the text. Foreword. The second edition of the book is no longer distributed with Rust's . Introduction. Note: This edition of the book is the same as The Rust.
|Language:||English, Spanish, Arabic|
|Genre:||Business & Career|
|Distribution:||Free* [*Registration needed]|
Foreword. The edition of the book is no longer distributed with Rust's. Affectionately nicknamed “the book,” The Rust Programming Language will give you an overview of the language from first principles. You'll build a few projects. The Rust Programming Language. Contribute to rust-lang/book development by creating an account on GitHub.
The output will be in the book subdirectory.
To check it out, open it in your web browser. We'd love your help! We'd love help translating the book!
See the Translations label to join in efforts that are currently in progress. Open a new issue to start working on a new language! We're waiting on mdbook support for multiple languages before we merge any in, but feel free to start!
We're using Graphviz for some of the diagrams in the book. The source for those files live in the dot directory. In the generated SVG, remove the width and the height attributes from the svg element and set the viewBox attribute to 0. To scan source files for spelling errors, you can use the spellcheck. It needs a dictionary of valid words, which is provided in dictionary.
If the script produces a false positive say, you used word BTreeMap which the script considers invalid , you need to add this word to dictionary. Skip to content.
Dismiss Join GitHub today GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together. Sign up. The Rust Programming Language https: Find File. Download ZIP. Sign in Sign up. Launching GitHub Desktop Go back. Launching Xcode The Rust language hopes to support many other users as well; those mentioned here are merely some of the biggest stakeholders.
Give Rust a try and see if its choices work for you.
Later chapters build on concepts in earlier chapters, and earlier chapters might not delve into details on a topic; we typically revisit the topic in a later chapter. Chapters 2, 12, and 20 are project chapters; the rest are concept chapters.
Chapter 1 explains how to install Rust, how to write a Hello, world! Chapter 2 is a hands-on introduction to the Rust language. Here we cover concepts at a high level, and later chapters will provide additional detail. If you want to get your hands dirty right away, Chapter 2 is the place for that. Chapter 5 discusses structs and methods, and Chapter 6 covers enums, match expressions, and the if let control flow construct.
Chapter 8 discusses some common collection data structures that the standard library provides, such as vectors, strings, and hash maps.
Chapter 10 digs into generics, traits, and lifetimes, which give you the power to define code that applies to multiple types. Chapter 13 explores closures and iterators: Chapter 15 discusses smart pointers that the standard library provides and the traits that enable their functionality.
Chapter 17 looks at how Rust idioms compare to object-oriented programming principles you might be familiar with. Chapter 18 is a reference on patterns and pattern matching, which are powerful ways of expressing ideas throughout Rust programs. Chapter 19 contains a smorgasbord of advanced topics of interest, including unsafe Rust, macros, and more about lifetimes, traits, types, functions, and closures.
Finally, some appendixes contain useful information about the language in a more reference-like format.
There is no wrong way to read this book: You might have to jump back to earlier chapters if you experience any confusion.
Yes but it's really just not finished, as in only about half of it is actually written.
Submit a new link. Submit a new text post.
Get an ad-free experience with special benefits, and directly support Reddit. Rules Respect our Code of Conduct We strive to treat others with respect, patience, kindness, and empathy. Keep criticism constructive Criticism is encouraged, though ensure that your criticism is useful and actionable. No zealotry Stay mindful of the fact that different technologies have different goals and exhibit fundamentally different tradeoffs in pursuit of those goals.
Keep it civil; no flamewars.
Keep it chill In the grand scheme of things, there are better things to get tilted at than a programming language. Keep it on-topic All submissions must explicitly reference Rust or relate to things using Rust. If you wish to submit a link that you believe would be of interest to the community but does not meet the above criteria, then please wrap the link in a self-post that explains its relevance.
No memes Save the image macros for another day.