I’m currently going through the process of teaching myself Rust as a fun summer project, especially since it’s different enough from the Java/Spring stack I use at work regularly. What are some interesting projects I can work on in Rust to get some familiarity with how the language works, and get an idea of some of the libraries I can use with it?
If you’re not opposed to books and have an interest in gamedev as well, then maybe give Hands-on Rust a shot. After some basics, it covers building a dungeon crawler (roguelike).
Admittedly, I own a copy but I haven’t had the chance to go through it yet. I’ve heard positive things about it, though. Might start soon, wanting to get more in-depth with Rust myself recently.
The same author also has a free tutorial here. The ECS library used in it is a bit dated, and it’s a good idea to follow the tutorial but use a more modern one (like hecs, or bevy_ecs if you’re feeling more comfortable in rust)
exercism.org has a rust track.
I like to start out any new language with an implementation of Conway’s Game of Life. It’s relatively simple, but tends to exercise a decent bit of the language.
You know, I’ve never implemented Conway’s game of life, and that sounds like an excellent way to work on a new language
It’s a fun little project to do :)
Seems like a good way to play around with multithreading, SIMD and even shaders if you wanted to.
What are some interesting projects I can work on in Rust to get some familiarity with how the language works
My recommendation is always the same, regardless of the language:
(And here is some dogfood: I’ve created !adventofcode@lemmy.world, so you can ask questions there and/or share your solutions)
For my own projects I’m trying to build things I actually want. Tools for myself. But now the hard part becomes identifying a tool you wish you had, and scoping it down enough so that it’s appropriately sized for a new language. Tricky to approach the task from two ends.
Yes! An example: I needed to start a journal to write my thoughts, therapist’s orders. Also wanted to learn kivy and write a basic app for android. So I wrote a little journal app for myself to make me want to journal, and i learned the basics of kivy framework! Sorry its not a rust example
For me “scratch your own itch” is what works best for keeping up the motivation. Think of a tool or service that you’ll actually want to use yourself and implement that in the language you are learning. Or create a better version of an existing tool that you regularly use.
Rust really shines with parsers and generators. They are easy enough and fun to write. Maybe write a lisp with it? Or a prettifier for your favorite language…
If you go with a parser, this one is an interesting crate to start messing around with:
If you’re looking to further your understanding of rust, try out the rustlings course.
You could also look into making a website (e.g. a todo list) with Leptos.