Zoea - a crate to help baby Rustaceans get onboard

Hi everybody- baby Rustacean here. I have been learning Python for a few years and decided it was time to "grow up" and learn a low-level language.

I love Rust, but the learning curve has been a bit steep. As I understand it, this has been a barrier to adoption by new users more generally. After struggling through a few examples, I decided to put together a crate with 'easy' buttons for some of the things I was initially struggling with:

https://crates.io/crates/zoea

If this is useful to other baby Rustaceans, please feel free to share it with them. While I feel very out-of-my-league compared to most folks on this forum, contributions or recommendations for things I should add would also be appreciated.

Kind regards,
Fabio, a baby Rustacean

6 Likes

You should use &str over &String in parameters so that you can pass string literals directly.

Also the docs are unreadable. Rustdocs use CommonMark for formatting, so you can use code fences for examples to make them readable.

2 Likes

Or Into::String if you want to avoid reallocating Strings.

1 Like

Thanks Yato. I just made these changes, added some tests to verify everything still works, and changed to v0.0.6.

1 Like

Hey that's no problem either! :slight_smile:

I was just thinking about this earlier. The nice thing about Rust as language is that it is a place where newbies and experienced experts can work together while facilitating both groups.

For baby Rustacean's they can use the language and not have to worry about the serious foot-guns of Undefined Behavior. For experts they have all control the need at their fingertips while being able to have the compiler make sure that everything that isn't unsafe stays sound.

If you are just getting started, or if you have tons of experience, Rust works for both, and there is a very welcoming community here, too. :+1:

3 Likes

To teach other zoea good Rust practices, you should include unit tests in the various modules.

In other respects I really like this effort, both in the simplicity of the primary teaching and in the simplicity of each module that supports one area of programming focus.

3 Likes

Thanks @TomP! I'm reading though the Tests chapter of the Rust programming book and have added unit tests for most of the modules now.

Thank you @zicklag for the warm welcome (and my first GitHub star!). The community has been great and it feels good that even a beginner like me can make some sort of contribution.

1 Like