正在加载视频...

视频加载失败

17,587 次观看 • 4 个月前 •via X (Twitter)

0 条评论

暂无评论

原始帖子的评论将显示在这里

相关视频

Officially a Red Hatter 🤫 🇺🇸
0:27

Sensitive content

Officially a Red Hatter 🤫 🇺🇸

Christie Anne

104,574 次观看 • 1 年前

Why is Rust different than many/most programming languages? Alice Ryhl works on Google's Android Rust team, is a Rust language team advisor, and is a core maintainer of Tokio (the most widely-used async runtime in Rust) Timestamps: 00:00 Intro 04:09 Tokio: an overview 05:11 What Alice likes about Rust 12:48 Rust for TypeScript engineers 13:51 Moving from C++ to Rust 14:34 Memory safety 18:12 Garbage collection tradeoffs 21:46 Ownership, references, and borrowing 26:59 Unsafe in Rust 31:21 Crates and Cargo 35:55 Language design and RFCs 43:02 Building new features 46:30 Editions vs. versions 49:47 Getting paid to work on Rust 51:27 Contributing to Rust 53:03 Rust in the Linux kernel 55:45 AI use cases for Rust 1:01:35 Learning Rust 1:03:54 Book recommendation Brought to you by: • Antithesis – verify your system’s correctness without human review or traditional integration tests – and avoid bugs or outages. • Sentry – application monitoring software considered “not bad” by millions of developers Three things worth knowing about Rust: 1. Rust was designed to turn implicit failures into compile errors. Where other languages allow you to forget something, Rust makes an omission into a compilation error for things like null checks, uninitialized variables, or error propagation with the ‘?’ character. If you mess something up, it’s almost certain your program will not compile. If it does, at the very least you should see a lint warning. 2. Refactoring in Rust is safe and easy, thanks to the compiler. Alice: “I change a return type or struct field, then just fix the compiler errors until the compiler stops shouting. And then once I’ve done that, I’ve updated every place I need to update.” Rust’s focus on correctness makes refactoring it more straightforward than dynamically-typed languages and Java-style typed ones are to refactor. 3. “Editions” allow Rust to make breaking changes without ‘breaking’ anyone’s code. Rust editions (2015, 2018, 2021, 2024) can be mixed freely across crates. A library on the 2021 edition works seamlessly with a binary on the 2024 edition. This is how Rust evolves syntax (like adding async/await as keywords) without forcing an ecosystem-wide migration. Thanks a lot, Alice for this great discussion! And for your work on Rust.

Gergely Orosz

51,443 次观看 • 1 个月前