Skip to content

Commit

Permalink
add intro pointers + improve intro text
Browse files Browse the repository at this point in the history
  • Loading branch information
glendc committed Sep 27, 2023
1 parent bd66444 commit 2a6fc3d
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
6 changes: 5 additions & 1 deletion src/intro/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,15 @@

[![Github Sponsors Badge](https://img.shields.io/badge/sponsor-30363D?style=for-the-badge&logo=GitHub-Sponsors&logoColor=#EA4AAA)](https://github.com/sponsors/plabayo) [![Buy Me A Coffee Badge](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-ffdd00?style=for-the-badge&logo=buy-me-a-coffee&logoColor=black)](https://www.buymeacoffee.com/plabayo)


[rust]: https://www.rust-lang.org/

> ⓘ A guide to aid you in your journey of becoming a Rustacean (Rust developer). See the [Contributing](https://github.com/plabayo/learn-rust-101/blob/main/CONTRIBUTING.md) and [Code of Conduct](https://github.com/plabayo/learn-rust-101/blob/main/CODE_OF_CONDUCT.md) for more information about how to contribute to this repository.
Ready to start your learning journey?

Read [the prologue](https://rust-lang.guide/intro/prologue.html) next or jump straight to
[the introduction of this learning guide](https://rust-lang.guide/intro/learning-rust.html).

## Disclaimer

This guide is made by [Glen De Cauwsemaecker](https://www.glendc.com/) and is in no way endorsed nor affiliated with the Rust foundation. Rust & Cargo are registered trademarks of the Rust foundation.
Expand Down
18 changes: 7 additions & 11 deletions src/intro/learning-rust.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,16 @@ Becoming proficient in Rust requires the fulfillment of three pillars:
- Pillar III: Be part of the Rust Ecosystem:
- [Next Steps](/guide/next-steps.md)

What steps of each pillar you do is not of too much problem, do whatever feels best for you.
You can of course complete all steps, and do them in the order as given, but most likely
you probably want to use this learning guide more as a reference and for inspiration,
rather then to follow it word by word.
The sequence in which you approach each pillar is flexible—tailor it to your preference. While you may follow the steps as presented, this guide is best used as a reference and source of inspiration rather than a prescriptive manual.

The above paths are just a suggestion and also should make clear that there are many ways and approaches to using this guide.
Most important is that you do enjoy the journey and that you learn consistently (e.g. ~ X hours per week). How you'll walk the path and how often you revisit things will depend on your learning style and capabilities. There are however no wrong ways to go. E.g. maybe you want to dive into some code yourself as soon as possible and only then will start covering foundations. Or perhaps you first wanna feel very comfortable to only then start really coding yourself once you think you understand the foundations well. All up to you really.
These suggested paths highlight the versatility of this guide. The key is to enjoy the process and maintain consistent learning (e.g., approximately X hours per week). Your learning style and capabilities will dictate your journey and frequency of revisits. For instance, you might prefer to experiment with code before delving into the foundations, or you may want to fully grasp the basics before embarking on coding. The choice is yours.

Only thing I would really want to hammer on is to do a lot of coding yourself. The best way to learn is to do. So don't be afraid to make mistakes and to try things out. You'll learn a lot more that way. It will be a very confronting journey but it will be worth it. If all you do is read and read you'll never really get a feel for the language and you'll never really get a feel for what you can do with it. So please, do a lot of coding yourself. Plus at times we can trick our brain into thinking we understand something when we don't.
However, one essential element is hands-on coding. Learning by doing is the most effective method. Don't shy away from making mistakes or trying new things—it will be a challenging but rewarding journey. Merely reading won't give you a true understanding of the language or its potential. So, engage in plenty of coding.

Also even if you start to reach advanced topics (e.g. Rust for Rustaceans), it is still very important to keep doing the basics. You'll be surprised how quickly you can forget things. So keep doing the basics and keep doing the advanced topics. It is a never ending journey.
Even as you progress to advanced topics (e.g., Rust for Rustaceans), don't neglect the fundamentals. It's easy to forget what you've learned without regular practice. Thus, continue to balance basic and advanced studies—it's a continuous journey.

You'll notice when reading this guide that there are often alternatives mentioned or several layers of difficulty. With this in mind it might very well be your choice to go through a section shallow to start, going through the basic/foundational material, to then come back to it after having gone through other sections already with more experience under your belt. At this point you might have more confidence to get to the more advanced material of the section or have gained the background or mindset to understand that content and get more out of it. The spatial repetition as a result is on top of this all an excellent way to slowly but surely mold your grey mass into the desired shape.
As you navigate this guide, you'll find alternative suggestions and varying levels of complexity. You might initially skim through a section, focusing on the foundational material, then revisit it later with more experience. This approach allows for spatial repetition, gradually shaping your understanding.

In case you are not planning to work on a project anytime soon that requires Async programming. Feel free to skip [that section](/guide/learn-async-rust.md) for the time being should it be the case. For now just know that official Async support in Rust exists and that it has an important place within the Rust ecosystem. You can always come (back) to it at a future point when you do decide or realize that strong foundations in this section can help out.
If you don't anticipate working on a project requiring Async programming soon, feel free to bypass [that section](/guide/learn-async-rust.md) for now. Just remember that Rust supports Async and it plays a significant role in the Rust ecosystem. You can always return to it when you're ready to strengthen your knowledge in this area.

If you ever feel stuck, or want a guide, teacher or mentor. Feel free to reach out to Glen at [[email protected]](mailto:[email protected]) to book a 1-on-1 session or a workshop for your organization. It can be a one time thing or we can meet regularly to help you along the way.
Should you ever feel stuck or in need of a mentor, don't hesitate to contact Glen at [[email protected]](mailto:[email protected]) to arrange a one-on-one session or a workshop for your organization. Whether it's a one-off or regular meetings, assistance is readily available.

0 comments on commit 2a6fc3d

Please sign in to comment.