365 Days of Rust

For the year 2023, I have decided it’s time to become a Rustacean. And to be sure to take it a bit too far, I’m going to do something Rust related each day, without missing a day. 

I read this post from John Resig nearly a decade ago, and each time I follow it, I make very noticeable leaps forward.

I’m shooting for 15-30 minutes per day, but I will allow some flexibility because I don’t want to make myself feel like I’ve failed the challenge if I miss a day. Especially if I end up spending 5-6 hours skill-building for the week, which is far more than 30 minutes per day.

Challenge Statement: I’ll spend no less than 105 minutes per week learning Rust for the next 52 weeks.

Daily Requirements - Do at least one:

  • Tinker with Rust projects

  • Read or Write about Rust features

  • Program Microcontrollers with Rust

  • Solve LeetCode problems using Rust

  • Write about Rust Peculiarities

  • Dev-Log the Rust Ecosystems (web, embedded, other ones?)

My Hopeful Deliverables:

  1. A Before and After Summary

  2. Detailed posts about Rust itself, and the learning process

  3. The distinction of being able to ‘think’ in Rust versus OOP languages

  4. An organized link dump of the resources I used to gain the knowledge I obtained for the year

  5. Produce some content that reduces the bar to entry to some Rust implementations

Making the Before and After

I’m an experienced programmer, but I know nothing at all about Rust, not even how to get a Hello, World working.

So hopefully this will be a realistic representation of what a continuous year of small but persistent effort can do for one’s ability to get stuff done with Rust or any language.

Here is My Before Statement

I don’t know how to install rust. I do not know what a crate is, how to print to the terminal, or how to declare a type.  I don’t know if there is more than one way to assign a variable, or how.  I know absolutely nothing about it other than its name, and various other general details about it, like that it can program devices that can also be programmed in C.

For the After: See you in a Year

I’m pretty excited to see what I’ll say about myself a year from now.  Hopefully, it’s not “Oh I got completely sidetracked with other projects.”

A Bit More on ‘Thinking In Rust’

At the moment, I problem-solve exclusively in OOP languages.  It wasn’t always this way, but it has been for long enough to pervade my problem-solving process.

When I hear a feature proposal, my mind starts building classes, considering inheritance vs. composition structures, mostly very unique-to-OOP stuff, and not actually related to the feature, and more related to the solution code.

I think having a profound understanding of Rust will be a great way to strengthen my ability to separate the work of understanding a feature, vs. understanding the solution that makes the feature work.

Away We Go!

That’s all for now, It’s time to open the editor and start moving bits around.

Previous
Previous

Using Vectors In Rust for Push Pop Ops

Next
Next

Code Solution Disclaimer