Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Jim Blandy

Rating No ratings yet

Systems programming provides the foundation for the world's computation. Developing performance-sensitive code requires a programming language that puts programmers in control of how memory, processor time, and other system resources are used. The Rust systems programming language combines that control with a modern type system that catches broad classes of common mistakes, from memory management errors to interthread data races. With this practical guide, experienced systems programmers will learn how to successfully bridge the gap between performance and safety using Rust. Jim Blandy, Jason Orendorff, and Leonora Tindall demonstrate how Rust's features put programmers in control over memory consumption and processor use by combining predictable performance with memory safety and trustworthy concurrency. You'll learn: Rust's fundamental data types and the core concepts of ownership and borrowing Language basics including error handling, crates and...

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

Brief outline
【One-Line Pitch】 Systems programming provides the foundation for the world's computation. Developing performance-sensitive code requir… 【Book Arc】 - **Opening (~0%–12%)**: 书名: Programming Rust (Jim Blandy) (Z-Library) 作者: Jim Blandy Systems programming provides the foundation for the world's computation.; rustup because it’s a tool for managing Rust installations, like RVM for Ruby or NVM for Node. - **Early (~12%–35%)**: s the String and &str values created by the following code: let noodles "noodles".to_string();; In our case, both references’ lifetimes contain the call to extend, so Rust rejects the code. - **Middle (~35%–65%)**: // modify the String in place handle(line);; e corresponding Vec u8 methods. - **Late (~65%–88%)**: noncharacter purposes or outside Unicode’s range entirely.; check it against the types of the arguments at compile time. - **Ending (~88%–100%)**: let mut command_lines io::BufReader::new(io::stdin()).lines();; binary data, not UTF-8 text. 【Key Takeaways】 - **书名: Programming Rust (…** (Opening): 书名: Programming Rust (Jim Blandy) (Z-Library) 作者: Jim Blandy Systems programming provides the foundation for the world's computation. - **rustup because it’s a…** (Opening): rustup because it’s a tool for managing Rust installations, like RVM for Ruby or NVM for Node. - **1 The num_cpus crate p…** (Opening): 1 The num_cpus crate provides a function that returns the number of CPUs available on the current system. - **s the String and &str…** (Early): s the String and &str values created by the following code: let noodles "noodles".to_string(); - **In our case** (Early): In our case, both references’ lifetimes contain the call to extend, so Rust rejects the code. - **arly programmers using…** (Early): arly programmers using macros) let hi: u8 0xe0; 【Reading Tips】 - Use Passage locations below to jump into the text and set reading anchors - If this is a brief outline, click Regenerate (top right) for a synthesized guide 【Coverage Limits】 Compressed outline without the model (~32 index chunks). Full structured guide needs AI available.
Excerpt 1
rustup because it’s a tool for managing Rust installations, like RVM for Ruby or NVM for Node. For example, when a new version of Rust is released, you’ll be...
View in text
Excerpt 2
er 5. One well-known problem with using reference counts to manage memory is that, if there are ever two reference- counted values that point to each other,...
View in text
Excerpt 3
im v0.1.0 (file:///.../fern_sim) Compiling fern_sim v0.1.0 (file:///.../fern_sim/target/package/fern_sim- 0.1.0) The cargo package command creates a file (in...
View in text
Excerpt 4
/// Imaginary portion of the complex number im: T, } We were able to add and multiply Complex numbers just like any built-in numeric type, using Rust’s + and...
View in text
Excerpt 5
ons, and lt, le, gt, and ge methods for ordered comparisons. The cmp and partial_cmp methods behave like the corresponding methods of the Ord and PartialOrd...
View in text
Excerpt 6
println!("{}", line); } } Ok(()) } fn grep_main() -> Result<(), Box<dyn Error>> { // Get the command-line arguments. The first argument is the // string to s...
View in text
Excerpt 7
elf, ChatResult}; use async_std::io; use async_std::net; async fn send_commands(mut to_server: net::TcpStream) -> ChatResult<()> { println!("Commands:\n\ joi...
View in text
Excerpt 8
crate::macros::ToString::to_string($key). In our case, this isn’t strictly necessary to make the macro work, because ToString is in the standard prelude. But...
View in text
Tags
AI categories
Rust
Publisher: O'Reilly Media
Publish Year: 2020
Language: English
File Format: PDF
File Size: 17.5 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…