33 points by codesmith 7 months ago flag hide 28 comments
johnsmith 7 months ago next
Here are some of the best resources for learning Rust: 1. The Rust Programming Language (Book): <https://doc.rust-lang.org/book/> 2. Rust by Example: <https://doc.rust-lang.org/rust-by-example/> 3. Rustlings: <https://github.com/rust-lang/rustlings> 4. Rust Programming Language (video series) by Jon Gjengset: <https://www.youtube.com/watch?v=ihRP_GKd6wA&ab_channel=JonGjengset> 5. The Rustonomicon (advanced topics): <https://doc.rust-lang.org/nomicon/> 6. The Async Book: <https://rust-lang.github.io/async-book/> 7. Rust Standard Library documentation: <https://doc.rust-lang.org/stable/std/>
learner123 7 months ago next
Thanks for sharing, @johnsmith! That Rustlings repo seems was mentioned in Ask HN before, and I didn't check it out. I'll definitely give it a look now.
coolcodez 7 months ago prev next
I'd like to add: - Rust for Web Developers: <https://rust-web-development.com/> - JetBrains Rust Course: <https://www.jetbrains.com/ Academy/courses/Rust-for-Java-Developers> - Rust Cookbook: <https://rust-lang.github.io/rust-cookbook/> - Rust Design Patterns: <https://rust-unofficial.github.io/patterns/> - The Embedded Rust Book: <https://docs.rust-embedded.org/book/> Did I miss anything?
techsavvy543 7 months ago next
It seems that you didn't mention RustFest (which are Rust conference recordings): <https://www.youtube.com/c/RustFest> Also, official Rust forums might be helpful: <https://users.rust-lang.org/>
johnsmith 7 months ago prev next
You've both posted valuable additions. I think it is important to mention 'Rust 101' video course by Phil Moorhouse as well: <https://www.youtube.com/watch?v=YS4e4q9oBaU&ab_channel=Academind>
newbee_rust 7 months ago prev next
Thank you all so much! I'm so excited to learn Rust as my first programming language. I'm coming from Python. I have a web development background, and I want to get my hands dirty as soon as possible.
wisdomfulrust 7 months ago next
Welcome to Rust land, @newbee_rust! If you want to get into web development using Rust, check out Rocket framework: <https://rocket.rs/>. There's also a Rust-emphasized book called Server Programming in Rust: <https://server.programming-rust.com/>
johnsmith 7 months ago prev next
- Rustlings: <https://github.com/rust-lang/rustlings> - Exercism Rust Track: <https://exercism.org/tracks/rust> - Advent of Code: <https://adventofcode.com/> can be good practice too
learner123 7 months ago prev next
I've heard that Rust community is really supportive in general, so I think you will enjoy learning Rust overall. Rust has a succinct syntax, robust error handling, strong type system and fearless concurrency. Good luck!
coolcodez 7 months ago prev next
@newbee_rust, I'm sure you'll love it! You'll get the benefits of low-level control that come with a language like C, while still maintaining an easier developmen experience and better safety guarantees. Enjoy!
newbee_rust 7 months ago prev next
I'm definitely excited to learn. I've been reading the book: https://doc.rust-lang.org/book/, but I could see a lot of useful resources being shared in this thread, which means I won't get stuck in one spot for too long!
teacher_rust 7 months ago prev next
Make sure to have fun along the way! Rust is a powerful language that is becoming more popular as time goes on. It's among the most-loved languages on the Stack Overflow survey, and with great reason, given its powerful typed system, excellent compile-time error checking, and emergent community.
keenlearner9 7 months ago prev next
Rust is indeed amazing, and I appreciate the number of valuable resources shared here. This will definitely help newcomers to Rust, just like @newbee_rust. I'm bookmarking this thread and will be recommending this to others. Thanks again, everyone!
nextlevelrust 7 months ago prev next
Also, if you're interested in more networking-based applications, check out Tokio: <https://tokio.rs/> that particulary shines in the field.
zenrust 7 months ago prev next
One more thing, once you've got a good grasp on the fundamentals of Rust, make sure to check out Servo: <https://servo.org/>. This is a project from Mozilla that explores ideas for the future of web browsers. Learning from and contributing to Servo has helped me up my Rust skills a lot.
neuro_rust 7 months ago prev next
Also, for systems programming, I think you may find the `mio` library useful: <https://github.com/tokio-rs/mio>. It allows to create low-level I/O applications easier than directly interacting with `epoll`, `kqueue`, and `IOCP` on Linux, macOS, and Windows, respectively.
trusty_rust 7 months ago prev next
For those interested in GUI applications, you can start with `conrod`: <https://conrod.rs/>, and for more advanced use cases, try `gtk-rs`: <https://gtk-rs.org/>. These are both great libraries that can help you build complete cross-platform applications with ease.
neatrust 7 months ago prev next
Just an observation, but as I'm using Rust in an enterprise environment, we've found `actix-web` to be the most stable for pure REST APIs. Of course, `rocket` is a fantastic choice for those quick prototyping, but devs on my team like how 'opinionated' actix-web is.
guru_rust 7 months ago prev next
For learning more advanced techniques in Rust, don't forget the `nightly` toolchain. There, you will have access to various language extensions and new features even before they get stabilized. This can allow you to prepare for the future by becoming familiar with some of these things: <https://doc.rust-lang.org/nightly/>
enthusiast_rust 7 months ago prev next
Rust's package manager `cargo` is a hidden gem. I highly recommend learning how to use its full potential and understanding how it integrates with GitHub, for instance. Here's a list of crates that can assist you in daily Rust programming: <https://crates.io/>
curious_rust 7 months ago prev next
It's amazing to see the enthusiasm for Rust within this community! I'm eager to get into Rust and will surely benefit from this treasure trove of wisdom and expertise. Thanks once again for compiling this collection.
seasoned_rust 7 months ago prev next
If you're interested in learning more about intermediate-to-advanced topics, here are some more resources: 1. Rust by Example (Intermediate): <https://doc.rust-lang.org/rust-by-example/intermediate/> 2. Rust and WebAssembly: <https://rustwasm.github.io/books/book/> 3. The Async Book: <https://rust-lang.github.io/async-book/> These books cater to varying degrees of experience and can help you to grow your skills as you progress.
curious_rust 7 months ago next
It's interesting that you mentioned WebAssembly since I plan to develop a web-based game using Rust, and WebAssembly would come in super handy! Thank you for sharing!
expert_rust 7 months ago prev next
Among the many things I've learned from Rust, I can't stress enough the benefits of immutability and borrow checking. These concepts have dramatically improved the way I approach software design and implementation in any language. Rust has an excellent approach when it comes to this.
abstraction_rust 7 months ago prev next
Precisely, Rust excels in making you think about the trade-offs of concurrency, safety, and performance. As you learn Rust, you'll develop a strong understanding of ownership, borrowing, and lifetimes - concepts that I think are fundamental to any language.
futuristic_rust 7 months ago prev next
As we're discussing Rust resources, let's not forget Rust-Analyzer, a language server implementation for Rust that works with various editors, including Visual Studio Code and Neovim. You'll significantly improve your Rust development experience: <https://rust-analyzer.github.io/manual.html>
learn_true_rust 7 months ago prev next
Rust provides a great balance between simplicity and an expressive set of features. Having an ownership model that enforces better habits in terms of memory safety and the ability to confidently dive deep make Rust a true winner, in my opinion. Happy learning!
shineonrust 7 months ago prev next
You may also want to check out the Awesome Rust list which is an extensive curation of Rust learning resources and projects: <https://github.com/rust-unofficial/ awesome-rust>