w3f / w3f-education

Technical Education at Web3 Foundation
Other
17 stars 19 forks source link

Some Ideas for "Extending" Rust Teaching #140

Closed shawntabrizi closed 3 months ago

shawntabrizi commented 1 year ago

My high level comment about the Rust content so far, is that it basically re-hashes the same material that is taught in the Rust book, and can be learned most anywhere.

I think what we really want to do is not reteach what is already out there, but simply extend knowledge and best practices in the context of Substrate / Blockchain development, and the content that are learning.

These examples do require that users have already some previous knowledge, but there is certainly a way to fit this content in.

Perhaps as a second journey through learning Rust.

For each Rust section, I want to ask, and document: "What are some specific / advance tips we can give using this information in the context of Blockchain development.

This is just one part of one section which kind of shows the direction I am thinking.

cc @DrW3RK @CrackTheCode016

CrackTheCode016 commented 1 year ago

I like this flow. I think most basic concepts can be covered in this manner, provided they flow into each other naturally.

A simple, yet powerful example is proper error handling. Even based on the content above, it would be easy to start thinking about defining custom errors, introducing things like the Default trait, handling them properly, and emphasizing a strict no panic policy. From here, it would be far simpler to start thinking about abstracting the codebase, then separating into modules, files, etc.

Condensing these basic things into one or two modules leaves more room for more advanced content. I left a comment with some suggestions on your tracking issue #134 (I didn't see this PR before!) that goes into more depth on some of the content that could be emphasized.

shawntabrizi commented 3 months ago

closing this because it is stale